aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2011-05-09 03:57:27 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2011-05-09 03:57:27 +0200
commit12bc152b31420c3e3d441c87a995fe7b65dd23fe (patch)
tree28ce3d83a81bcc0e7008472516309540ab0b409b
parented607a87e042bd0470c21244db814d599e2bce4f (diff)
downloadbusybox-12bc152b31420c3e3d441c87a995fe7b65dd23fe.tar.gz
fbset: abort on unknown options. closes 3121
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--util-linux/fbset.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/util-linux/fbset.c b/util-linux/fbset.c
index 75d41b882..3be342481 100644
--- a/util-linux/fbset.c
+++ b/util-linux/fbset.c
@@ -402,7 +402,14 @@ int fbset_main(int argc, char **argv)
argv++;
argc--;
for (; argc > 0 && (thisarg = *argv) != NULL; argc--, argv++) {
- if (thisarg[0] == '-') for (i = 0; i < ARRAY_SIZE(g_cmdoptions); i++) {
+ if (thisarg[0] != '-') {
+ if (!ENABLE_FEATURE_FBSET_READMODE || argc != 1)
+ bb_show_usage();
+ mode = thisarg;
+ options |= OPT_READMODE;
+ goto contin;
+ }
+ for (i = 0; i < ARRAY_SIZE(g_cmdoptions); i++) {
if (strcmp(thisarg + 1, g_cmdoptions[i].name) != 0)
continue;
if (argc <= g_cmdoptions[i].param_count)
@@ -471,10 +478,7 @@ int fbset_main(int argc, char **argv)
argv += g_cmdoptions[i].param_count;
goto contin;
}
- if (!ENABLE_FEATURE_FBSET_READMODE || argc != 1)
- bb_show_usage();
- mode = *argv;
- options |= OPT_READMODE;
+ bb_show_usage();
contin: ;
}