aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartyn Welch <martyn.welch@collabora.com>2019-01-26 02:31:53 +0000
committerTom Rini <trini@konsulko.com>2019-02-01 14:13:46 -0500
commit65a80b43b308bfae0b732765f75c25e5f65b9d84 (patch)
tree7e3a21d61ac43df6b44bc6307ca1045fb9443e46
parent11e3c1fd3bd8fd0a91d502fa4742749f877867bb (diff)
downloadu-boot-65a80b43b308bfae0b732765f75c25e5f65b9d84.zip
u-boot-65a80b43b308bfae0b732765f75c25e5f65b9d84.tar.gz
u-boot-65a80b43b308bfae0b732765f75c25e5f65b9d84.tar.bz2
tools: dumpimage: Add help option and make error paths consistent
The utility dumpimage has error paths that display the usage and others that exit without displaying usage. Add an explicit help option to dumpimage to display the usage and remove it's use in error paths to make the error messages more obvious and errors paths more consistent. Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
-rw-r--r--tools/dumpimage.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/tools/dumpimage.c b/tools/dumpimage.c
index e17e979..5c9ad36 100644
--- a/tools/dumpimage.c
+++ b/tools/dumpimage.c
@@ -65,7 +65,7 @@ int main(int argc, char **argv)
params.cmdname = *argv;
- while ((opt = getopt(argc, argv, "lo:T:p:V")) != -1) {
+ while ((opt = getopt(argc, argv, "hlo:T:p:V")) != -1) {
switch (opt) {
case 'l':
params.lflag = 1;
@@ -79,7 +79,7 @@ int main(int argc, char **argv)
if (params.type < 0) {
fprintf(stderr, "%s: Invalid type\n",
params.cmdname);
- usage();
+ exit(EXIT_FAILURE);
}
break;
case 'p':
@@ -94,15 +94,20 @@ int main(int argc, char **argv)
case 'V':
printf("dumpimage version %s\n", PLAIN_VERSION);
exit(EXIT_SUCCESS);
+ case 'h':
+ usage();
default:
usage();
break;
}
}
+ if (argc < 2)
+ usage();
+
if (optind >= argc) {
fprintf(stderr, "%s: image file missing\n", params.cmdname);
- usage();
+ exit(EXIT_FAILURE);
}
params.imagefile = argv[optind];
@@ -123,7 +128,7 @@ int main(int argc, char **argv)
if (tparams->check_params(&params)) {
fprintf(stderr, "%s: Parameter check failed\n",
params.cmdname);
- usage();
+ exit(EXIT_FAILURE);
}
}
@@ -196,8 +201,11 @@ static void usage(void)
" -p ==> 'position' (starting at 0) of the component to extract from image\n",
params.cmdname);
fprintf(stderr,
+ " %s -h ==> print usage information and exit\n",
+ params.cmdname);
+ fprintf(stderr,
" %s -V ==> print version information and exit\n",
params.cmdname);
- exit(EXIT_FAILURE);
+ exit(EXIT_SUCCESS);
}