HMP: add sub command table to info
Now info command takes a table of sub info commands, and changed do_info() to do_info_help() to do help funtion only. Note that now "info <unknown-topic>" returns error instead of list of info topics. Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
a13ced59a4
commit
84c44613f9
@ -1521,7 +1521,8 @@ ETEXI
|
||||
.args_type = "item:s?",
|
||||
.params = "[subcommand]",
|
||||
.help = "show various information about the system state",
|
||||
.mhandler.cmd = do_info,
|
||||
.mhandler.cmd = do_info_help,
|
||||
.sub_table = info_cmds,
|
||||
},
|
||||
|
||||
STEXI
|
||||
|
22
monitor.c
22
monitor.c
@ -811,28 +811,8 @@ static void user_async_cmd_handler(Monitor *mon, const mon_cmd_t *cmd,
|
||||
}
|
||||
}
|
||||
|
||||
static void do_info(Monitor *mon, const QDict *qdict)
|
||||
static void do_info_help(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
const mon_cmd_t *cmd;
|
||||
const char *item = qdict_get_try_str(qdict, "item");
|
||||
|
||||
if (!item) {
|
||||
goto help;
|
||||
}
|
||||
|
||||
for (cmd = info_cmds; cmd->name != NULL; cmd++) {
|
||||
if (compare_cmd(item, cmd->name))
|
||||
break;
|
||||
}
|
||||
|
||||
if (cmd->name == NULL) {
|
||||
goto help;
|
||||
}
|
||||
|
||||
cmd->mhandler.cmd(mon, NULL);
|
||||
return;
|
||||
|
||||
help:
|
||||
help_cmd(mon, "info");
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user