ref: 7844afed6e899a5ed1327721e92f1fbad1e198a5
parent: 400d05369b02b737b3b9e2867a171a7f86649ad1
author: cbagwell <cbagwell>
date: Fri Sep 1 14:04:08 EDT 2006
Check effect getopt() return code and exit on error.
--- a/src/sox.c
+++ b/src/sox.c
@@ -812,6 +812,7 @@
static void parse_effects(int argc, char **argv)
{
int argc_effect;
+ int effect_rc;
nuser_effects = 0;
@@ -833,6 +834,7 @@
fprintf(stderr, "%s ", st_effects[i1]->name);
fprintf(stderr, "\n\n");
st_fail("Effect '%s' is not known!", argv[optind]);
+ exit(2);
}
@@ -839,10 +841,15 @@
/* Skip past effect name */
optind++;
- (*user_efftab[nuser_effects].h->getopts)
+ effect_rc = (*user_efftab[nuser_effects].h->getopts)
(&user_efftab[nuser_effects],
argc_effect,
&argv[optind]);
+
+ if (effect_rc == ST_EOF)
+ {
+ exit(2);
+ }
/* Skip past the effect arguments */
optind += argc_effect;