[PATCH] bareboxenv: Return proper exit code on failure.

Christian Kapeller christian.kapeller at cmotion.eu
Tue Feb 26 06:20:29 EST 2013


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 at cmotion.eu>
---
 scripts/bareboxenv.c |   16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/scripts/bareboxenv.c b/scripts/bareboxenv.c
index 707d63d..3fd1429 100644
--- a/scripts/bareboxenv.c
+++ b/scripts/bareboxenv.c
@@ -138,7 +138,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;
 
@@ -191,12 +191,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);
 }
-- 
1.7.9.5




More information about the barebox mailing list