summaryrefslogtreecommitdiffstats
path: root/commands/saveenv.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-10-23 20:06:59 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-10-23 23:02:57 +0200
commit15f8f9282e58ce4421c645528419e8d7a2a8f0b4 (patch)
treeae88afa7f1a492b00bc23e3ddf6b4ce894cd2cbd /commands/saveenv.c
parent9ab02e4ec6cac824b5e09e194b529568bce68ff8 (diff)
downloadbarebox-15f8f9282e58ce4421c645528419e8d7a2a8f0b4.tar.gz
saveenv: Fix saving to specified file
Since e805b7d saveenv: provide a zeroed/empty/ignore environment barebox no longer honors the file argument when the directory argument is also givin. Fix this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/saveenv.c')
-rw-r--r--commands/saveenv.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/commands/saveenv.c b/commands/saveenv.c
index 9da733e..43f16dc 100644
--- a/commands/saveenv.c
+++ b/commands/saveenv.c
@@ -39,16 +39,16 @@ static int do_saveenv(int argc, char *argv[])
}
/* destination and source are given? */
- if (argc == optind + 2)
- dirname = argv[optind + 1];
- else
+ if (argc - optind < 2)
dirname = "/env";
+ else
+ dirname = argv[optind + 1];
/* destination only given? */
- if (argc == optind + 1)
- filename = argv[optind];
- else
+ if (argc - optind < 1)
filename = default_environment_path_get();
+ else
+ filename = argv[optind];
ret = envfs_save(filename, dirname, envfs_flags);