aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@siemens.com>2017-06-12 12:50:42 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2017-06-14 10:55:26 +0200
commit12e27a1b2adf14c33694db82e1f6f8bde560b9a2 (patch)
treed101a43c524488d1a146ecd3e7ac547f3ec67f32
parent9a357ee3b12e180ab116ac811c20c153e7aed254 (diff)
jffsX-utils: Return error code if command line option is unknown
The tools in question will quit with an exit code 0 if the command line option was not recognized. By returning an error code a calling script has the possibility to distinguish between a real success and an invalid invocation. Signed-off-by: Daniel Wagner <daniel.wagner@siemens.com> Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r--jffsX-utils/jffs2dump.c8
-rw-r--r--jffsX-utils/mkfs.jffs2.c4
-rw-r--r--jffsX-utils/sumtool.c4
3 files changed, 10 insertions, 6 deletions
diff --git a/jffsX-utils/jffs2dump.c b/jffsX-utils/jffs2dump.c
index 82f3197..a7d99e8 100644
--- a/jffsX-utils/jffs2dump.c
+++ b/jffsX-utils/jffs2dump.c
@@ -50,7 +50,7 @@
long imglen; // length of image
char *data; // image data
-void display_help (void)
+void display_help (int error)
{
printf("Usage: %s [OPTION]... INPUTFILE\n"
"Dump the contents of a binary JFFS2 image.\n\n"
@@ -65,7 +65,7 @@ void display_help (void)
" -o, --oobsize=LEN size of oob data chunk in binary image (NAND only)\n"
" -v, --verbose verbose output\n",
PROGRAM_NAME);
- exit(0);
+ exit(error ? EXIT_FAILURE : EXIT_SUCCESS);
}
void display_version (void)
@@ -124,7 +124,7 @@ void process_options (int argc, char *argv[])
switch (c) {
case 'h':
- display_help();
+ display_help(0);
break;
case 'V':
display_version();
@@ -161,7 +161,7 @@ void process_options (int argc, char *argv[])
}
if ((argc - optind) != 1 || error)
- display_help ();
+ display_help (error);
img = argv[optind];
}
diff --git a/jffsX-utils/mkfs.jffs2.c b/jffsX-utils/mkfs.jffs2.c
index 88e6cab..2fb7730 100644
--- a/jffsX-utils/mkfs.jffs2.c
+++ b/jffsX-utils/mkfs.jffs2.c
@@ -1629,9 +1629,11 @@ int main(int argc, char **argv)
break;
case 'h':
- case '?':
puts(helptext);
exit(EXIT_SUCCESS);
+ case '?':
+ puts(helptext);
+ exit(EXIT_FAILURE);
case 'v':
verbose = 1;
diff --git a/jffsX-utils/sumtool.c b/jffsX-utils/sumtool.c
index 0958615..a995bdf 100644
--- a/jffsX-utils/sumtool.c
+++ b/jffsX-utils/sumtool.c
@@ -156,9 +156,11 @@ void process_options (int argc, char **argv)
target_endian = __LITTLE_ENDIAN;
break;
case 'h':
- case '?':
puts(helptext);
exit(EXIT_SUCCESS);
+ case '?':
+ puts(helptext);
+ exit(EXIT_FAILURE);
case 'v':
verbose = 1;
break;