Author: Gerfried Fuchs vim:ft=diff: Description: Print warning on multiple -f values (BTS #270056) Index: beep-1.2.2/beep.c =================================================================== --- beep-1.2.2.orig/beep.c +++ beep-1.2.2/beep.c @@ -159,6 +159,9 @@ void parse_command_line(int argc, char * (argfreq <= 0)) usage_bail(argv[0]); else + if (result->freq != 0) + fprintf(stderr, "WARNING: multiple -f values given, only last " + "one is used.\n"); result->freq = argfreq; break; case 'l' : /* length */ @@ -201,8 +204,10 @@ void parse_command_line(int argc, char * exit(0); break; case 'n' : /* also --new - create another beep */ + if (result->freq == 0) + result->freq = DEFAULT_FREQ; result->next = (beep_parms_t *)malloc(sizeof(beep_parms_t)); - result->next->freq = DEFAULT_FREQ; + result->next->freq = 0; result->next->length = DEFAULT_LENGTH; result->next->reps = DEFAULT_REPS; result->next->delay = DEFAULT_DELAY; @@ -220,6 +225,8 @@ void parse_command_line(int argc, char * usage_bail(argv[0]); } } + if (result->freq == 0) + result->freq = DEFAULT_FREQ; } void play_beep(beep_parms_t parms) { @@ -260,7 +267,7 @@ int main(int argc, char **argv) { char sin[4096], *ptr; beep_parms_t *parms = (beep_parms_t *)malloc(sizeof(beep_parms_t)); - parms->freq = DEFAULT_FREQ; + parms->freq = 0; parms->length = DEFAULT_LENGTH; parms->reps = DEFAULT_REPS; parms->delay = DEFAULT_DELAY;