mirror of https://github.com/xemu-project/xemu.git
monitor: Introduce monitor_find_command()
This commit moves the loop which searches for the command entry corresponding to a command name to its own function. It will be used by QMP code as well. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
99e2fc1672
commit
7fd669a1c4
22
monitor.c
22
monitor.c
|
@ -2932,6 +2932,19 @@ static int is_valid_option(const char *c, const char *typestr)
|
||||||
return (typestr != NULL);
|
return (typestr != NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const mon_cmd_t *monitor_find_command(const char *cmdname)
|
||||||
|
{
|
||||||
|
const mon_cmd_t *cmd;
|
||||||
|
|
||||||
|
for (cmd = mon_cmds; cmd->name != NULL; cmd++) {
|
||||||
|
if (compare_cmd(cmdname, cmd->name)) {
|
||||||
|
return cmd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static const mon_cmd_t *monitor_parse_command(Monitor *mon,
|
static const mon_cmd_t *monitor_parse_command(Monitor *mon,
|
||||||
const char *cmdline,
|
const char *cmdline,
|
||||||
QDict *qdict)
|
QDict *qdict)
|
||||||
|
@ -2952,13 +2965,8 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon,
|
||||||
if (!p)
|
if (!p)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* find the command */
|
cmd = monitor_find_command(cmdname);
|
||||||
for(cmd = mon_cmds; cmd->name != NULL; cmd++) {
|
if (!cmd) {
|
||||||
if (compare_cmd(cmdname, cmd->name))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cmd->name == NULL) {
|
|
||||||
monitor_printf(mon, "unknown command: '%s'\n", cmdname);
|
monitor_printf(mon, "unknown command: '%s'\n", cmdname);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue