mirror of https://gitee.com/openkylin/qemu.git
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?",
|
.args_type = "item:s?",
|
||||||
.params = "[subcommand]",
|
.params = "[subcommand]",
|
||||||
.help = "show various information about the system state",
|
.help = "show various information about the system state",
|
||||||
.mhandler.cmd = do_info,
|
.mhandler.cmd = do_info_help,
|
||||||
|
.sub_table = info_cmds,
|
||||||
},
|
},
|
||||||
|
|
||||||
STEXI
|
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");
|
help_cmd(mon, "info");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue