diff options
author | Christian Kapeller <christian.kapeller@cmotion.eu> | 2013-02-26 13:04:39 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-02-26 15:01:54 +0100 |
commit | dd3b4f782f62a1299021df37968b49e8aa79bb01 (patch) | |
tree | 01c28127170e0e302278a92c176f580226a4773f /scripts | |
parent | dc62dd48d80163b05e52cdb5183a9a387a094e0b (diff) | |
download | barebox-dd3b4f782f62a1299021df37968b49e8aa79bb01.tar.gz barebox-dd3b4f782f62a1299021df37968b49e8aa79bb01.tar.xz |
bareboxenv: Return proper exit code on failure.
In case environment loading/saving failed, the calling program
should be informed about that by returning a non zero exit code.
Signed-off-by: Christian Kapeller <christian.kapeller@cmotion.eu>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/bareboxenv.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/scripts/bareboxenv.c b/scripts/bareboxenv.c index 9284c0b083..6d6d55b1db 100644 --- a/scripts/bareboxenv.c +++ b/scripts/bareboxenv.c @@ -137,7 +137,7 @@ void usage(char *prgname) int main(int argc, char *argv[]) { int opt; - int save = 0, load = 0, pad = 0, fd; + int save = 0, load = 0, pad = 0, err = 0, fd; char *filename = NULL, *dirname = NULL; int verbose = 0; @@ -190,12 +190,20 @@ int main(int argc, char *argv[]) if (load) { if (verbose) printf("loading env from file %s to %s\n", filename, dirname); - envfs_load(filename, dirname, 0); + + err = envfs_load(filename, dirname, 0); + + if (verbose && err) + printf("loading env failed: %d\n", err); } if (save) { if (verbose) printf("saving contents of %s to file %s\n", dirname, filename); - envfs_save(filename, dirname); + + err = envfs_save(filename, dirname); + + if (verbose && err) + printf("saving env failed: %d\n", err); } - exit(0); + exit(err ? 1 : 0); } |