summaryrefslogtreecommitdiffstats
path: root/scripts/bareboxenv.c
diff options
context:
space:
mode:
authorChristian Kapeller <christian.kapeller@cmotion.eu>2013-02-26 13:04:39 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-02-26 15:01:54 +0100
commitdd3b4f782f62a1299021df37968b49e8aa79bb01 (patch)
tree01c28127170e0e302278a92c176f580226a4773f /scripts/bareboxenv.c
parentdc62dd48d80163b05e52cdb5183a9a387a094e0b (diff)
downloadbarebox-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/bareboxenv.c')
-rw-r--r--scripts/bareboxenv.c16
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);
}