summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/dumpimage.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/tools/dumpimage.c b/tools/dumpimage.c
index 2847e6c0b4..1b92dec364 100644
--- a/tools/dumpimage.c
+++ b/tools/dumpimage.c
@@ -65,17 +65,14 @@ int main(int argc, char **argv)
params.cmdname = *argv;
- while ((opt = getopt(argc, argv, "li:o:T:p:V")) != -1) {
+ while ((opt = getopt(argc, argv, "lo:T:p:V")) != -1) {
switch (opt) {
case 'l':
params.lflag = 1;
break;
- case 'i':
- params.imagefile = optarg;
- params.iflag = 1;
- break;
case 'o':
params.outfile = optarg;
+ params.iflag = 1;
break;
case 'T':
params.type = genimg_get_type_id(optarg);
@@ -108,6 +105,8 @@ int main(int argc, char **argv)
usage();
}
+ params.imagefile = argv[optind];
+
/* set tparams as per input type_id */
tparams = imagetool_get_type(params.type);
if (tparams == NULL) {
@@ -128,12 +127,11 @@ int main(int argc, char **argv)
}
}
- if (params.iflag)
- params.datafile = argv[optind];
- else
- params.imagefile = argv[optind];
- if (!params.outfile)
- params.outfile = params.datafile;
+ if (!params.lflag && !params.outfile) {
+ fprintf(stderr, "%s: No output file provided\n",
+ params.cmdname);
+ exit(EXIT_FAILURE);
+ }
ifd = open(params.imagefile, O_RDONLY|O_BINARY);
if (ifd < 0) {
@@ -204,10 +202,9 @@ static void usage(void)
" -l ==> list image header information\n",
params.cmdname);
fprintf(stderr,
- " %s -i image -T type [-p position] [-o outfile] data_file\n"
- " -i ==> extract from the 'image' a specific 'data_file'\n"
+ " %s -T type [-p position] [-o outfile] image\n"
" -T ==> set image type to 'type'\n"
- " -p ==> 'position' (starting at 0) of the 'data_file' inside the 'image'\n",
+ " -p ==> 'position' (starting at 0) of the component to extract from image\n",
params.cmdname);
fprintf(stderr,
" %s -V ==> print version information and exit\n",