summaryrefslogtreecommitdiffstats
path: root/commands/nv.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-07-21 14:38:01 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-07-22 12:27:22 +0200
commit443f7fd65542e34a6c272022d0e5b9662d18b527 (patch)
treee1d746c1094c25b4eae767613d5bab8b26eb91b7 /commands/nv.c
parent3fadbdae1fd5fb3d9a078f29bf2fb6f14d808c00 (diff)
downloadbarebox-443f7fd65542e34a6c272022d0e5b9662d18b527.tar.gz
barebox-443f7fd65542e34a6c272022d0e5b9662d18b527.tar.xz
nv: Add option to explicitly save nv variables
We now have code to save the nv variables without saving the rest of the environment. This gives us the possibility to explicitly save the nv variables. This patch adds an option to the 'nv' command for this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/nv.c')
-rw-r--r--commands/nv.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/commands/nv.c b/commands/nv.c
index 8cebb856f4..e312368435 100644
--- a/commands/nv.c
+++ b/commands/nv.c
@@ -26,20 +26,26 @@
static int do_nv(int argc, char *argv[])
{
int opt;
- int do_remove = 0;
+ int do_remove = 0, do_save = 0;
int ret;
char *value;
- while ((opt = getopt(argc, argv, "r")) > 0) {
+ while ((opt = getopt(argc, argv, "rs")) > 0) {
switch (opt) {
case 'r':
do_remove = 1;
break;
+ case 's':
+ do_save = 1;
+ break;
default:
return COMMAND_ERROR_USAGE;
}
}
+ if (do_save)
+ return nvvar_save();
+
if (argc == optind) {
nvvar_print();
return 0;
@@ -68,11 +74,12 @@ static int do_nv(int argc, char *argv[])
BAREBOX_CMD_HELP_START(nv)
BAREBOX_CMD_HELP_TEXT("Add a new non volatile variable named VAR, optionally set to VALUE.")
BAREBOX_CMD_HELP_TEXT("non volatile variables are persistent variables that overwrite the")
-BAREBOX_CMD_HELP_TEXT("global variables of the same name. Their value is saved with")
-BAREBOX_CMD_HELP_TEXT("'saveenv'.")
+BAREBOX_CMD_HELP_TEXT("global variables of the same name. Their value is saved implicitly with")
+BAREBOX_CMD_HELP_TEXT("'saveenv' or explicitly with 'nv -s'")
BAREBOX_CMD_HELP_TEXT("")
BAREBOX_CMD_HELP_TEXT("Options:")
BAREBOX_CMD_HELP_OPT("-r", "remove a non volatile variable")
+BAREBOX_CMD_HELP_OPT("-s", "Save NV variables")
BAREBOX_CMD_HELP_END
BAREBOX_CMD_START(nv)