diff options
Diffstat (limited to 'commands/state.c')
-rw-r--r-- | commands/state.c | 16 |
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; } |