diff options
author | Denys Vlasenko | 2011-08-10 00:51:29 +0200 |
---|---|---|
committer | Denys Vlasenko | 2011-08-10 00:51:29 +0200 |
commit | b47b3ce1bd651c689fae3cac2760f43f453e2b6e (patch) | |
tree | 792a1710799fbf57c66fa51a642ae6d5074640c5 /libbb | |
parent | b347df91317ca05910e930c94fdba30baf9e2de8 (diff) | |
download | busybox-b47b3ce1bd651c689fae3cac2760f43f453e2b6e.zip busybox-b47b3ce1bd651c689fae3cac2760f43f453e2b6e.tar.gz |
randomconfig fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/getopt32.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libbb/getopt32.c b/libbb/getopt32.c index c7c4079..d0e83d8 100644 --- a/libbb/getopt32.c +++ b/libbb/getopt32.c @@ -467,13 +467,17 @@ getopt32(char **argv, const char *applet_opts, ...) } for (on_off = complementary; on_off->opt_char; on_off++) if (on_off->opt_char == *s) - break; + goto found_opt; + /* Without this, diagnostic of such bugs is not easy */ + bb_error_msg_and_die("NO OPT %c!", *s); + found_opt: if (c == ':' && s[2] == ':') { on_off->param_type = PARAM_LIST; continue; } if (c == '+' && (s[2] == ':' || s[2] == '\0')) { on_off->param_type = PARAM_INT; + s++; continue; } if (c == ':' || c == '\0') { |