From: David McCullough Date: Tue, 22 Jun 2010 06:12:47 +0000 (+0000) Subject: The current code misses checking a few args in order to determine the X-Git-Url: http://git.osdn.net/view?p=uclinux-h8%2Felf2flt.git;a=commitdiff_plain;h=58392070c74e77fdcab8d1af2ed2e7ad685e01b7 The current code misses checking a few args in order to determine the default "print" mode (ktrace/l1stack/...). Rather than update a list that people easily forget, rework the code to generically detect that no arguments have been specified. Signed-off-by: Mike Frysinger --- diff --git a/flthdr.c b/flthdr.c index 0485107..dfc9107 100644 --- a/flthdr.c +++ b/flthdr.c @@ -326,11 +326,12 @@ usage(char *s) int main(int argc, char *argv[]) { - int c; + int c, noargs; char *ofile = NULL, *ifile; elf2flt_progname = argv[0]; + noargs = 1; while ((c = getopt(argc, argv, "pPdzZrRuUkKs:o:")) != EOF) { switch (c) { case 'p': print = 1; break; @@ -353,6 +354,7 @@ main(int argc, char *argv[]) usage("invalid option"); break; } + noargs = 0; } if (optind >= argc) @@ -361,9 +363,9 @@ main(int argc, char *argv[]) if (ofile && argc - optind > 1) usage("-o can only be used with a single file"); - if (!print && !docompress && !ramload && !stacksize) /* no args == print */ + if (!print && noargs) /* no args == print */ print = argc - optind; /* greater than 1 is short format */ - + for (c = optind; c < argc; c++) { ifile = argv[c]; if (!ofile)