summaryrefslogtreecommitdiffstats
path: root/commands/nv.c
diff options
context:
space:
mode:
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)