|
From: robs <ro...@us...> - 2008-03-16 20:50:00
|
Update of /cvsroot/sox/sox/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7717 Modified Files: sox.c Log Message: allow, e.g., -r 6k Index: sox.c =================================================================== RCS file: /cvsroot/sox/sox/src/sox.c,v retrieving revision 1.310 retrieving revision 1.311 diff -u -d -r1.310 -r1.311 --- sox.c 16 Mar 2008 17:59:01 -0000 1.310 +++ sox.c 16 Mar 2008 20:49:56 -0000 1.311 @@ -1367,12 +1367,16 @@ f->filetype++; break; - case 'r': - if (sscanf(optarg, "%lf %c", &f->signal.rate, &dummy) != 1 || f->signal.rate <= 0) { + case 'r': { + char k = 0; + size_t n = sscanf(optarg, "%lf %c %c", &f->signal.rate, &k, &dummy); + if (n < 1 || f->signal.rate <= 0 || (n > 1 && k != 'k') || n > 2) { sox_fail("Rate value `%s' is not a positive number", optarg); exit(1); } + f->signal.rate *= k == 'k'? 1000. : 1.; break; + } case 'v': if (sscanf(optarg, "%lf %c", &f->volume, &dummy) != 1) { |