summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavidm <davidm>2010-06-22 10:12:47 +0400
committerdavidm <davidm>2010-06-22 10:12:47 +0400
commit0a4959ba2b2d06c099f7923f6b3cdd23aff9bc87 (patch)
tree02380ef27383156e5ac524d79029e6012866d3ea
parentfa8494255f46924f5bc3033f3d04a21be976c309 (diff)
downloadelf2flt-0a4959ba2b2d06c099f7923f6b3cdd23aff9bc87.tar.xz
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 <vapier@gentoo.org>
-rw-r--r--flthdr.c8
1 files changed, 5 insertions, 3 deletions
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)