hmp: Restrict auto-complete in preconfig

Don't show the commands that aren't available.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20180620153947.30834-4-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
master
Dr. David Alan Gilbert 2018-06-20 16:39:43 +01:00
parent 31785f1b03
commit 6d9f7839b7
1 changed files with 7 additions and 2 deletions

View File

@ -4020,12 +4020,17 @@ static void monitor_find_completion_by_table(Monitor *mon,
cmdname = args[0];
readline_set_completion_index(mon->rs, strlen(cmdname));
for (cmd = cmd_table; cmd->name != NULL; cmd++) {
cmd_completion(mon, cmdname, cmd->name);
if (!runstate_check(RUN_STATE_PRECONFIG) ||
cmd_can_preconfig(cmd)) {
cmd_completion(mon, cmdname, cmd->name);
}
}
} else {
/* find the command */
for (cmd = cmd_table; cmd->name != NULL; cmd++) {
if (compare_cmd(args[0], cmd->name)) {
if (compare_cmd(args[0], cmd->name) &&
(!runstate_check(RUN_STATE_PRECONFIG) ||
cmd_can_preconfig(cmd))) {
break;
}
}