summaryrefslogtreecommitdiffstats
path: root/commands/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'commands/state.c')
-rw-r--r--commands/state.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/commands/state.c b/commands/state.c
index aded6e71e2..c57a906ff0 100644
--- a/commands/state.c
+++ b/commands/state.c
@@ -23,8 +23,9 @@ static int do_state(int argc, char *argv[])
struct state *state = NULL;
int do_save = 0, do_load = 0;
const char *statename = "state";
+ int no_auth = 0;
- while ((opt = getopt(argc, argv, "sl")) > 0) {
+ while ((opt = getopt(argc, argv, "sln")) > 0) {
switch (opt) {
case 's':
do_save = 1;
@@ -32,6 +33,9 @@ static int do_state(int argc, char *argv[])
case 'l':
do_load = 1;
break;
+ case 'n':
+ no_auth = 1;
+ break;
default:
return COMMAND_ERROR_USAGE;
}
@@ -51,10 +55,14 @@ static int do_state(int argc, char *argv[])
return -ENOENT;
}
- if (do_load)
- ret = state_load(state);
- else if (do_save)
+ if (do_load) {
+ if (no_auth)
+ ret = state_load_no_auth(state);
+ else
+ ret = state_load(state);
+ } else if (do_save) {
ret = state_save(state);
+ }
return ret;
}