diff options
author | Luiz Capitulino <lcapitulino@redhat.com> | 2009-11-26 22:58:54 -0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-12-03 09:41:22 -0600 |
commit | 7fd669a1c49743073e53166798244f15b1a8e0d2 (patch) | |
tree | 03e97d76b8d7aeaa1859074566c0d667ff32243c /monitor.c | |
parent | 99e2fc1672bbf84d081729a42c6a579ffdffecf8 (diff) |
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>
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -2932,6 +2932,19 @@ static int is_valid_option(const char *c, const char *typestr) 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, const char *cmdline, QDict *qdict) @@ -2952,13 +2965,8 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon, if (!p) return NULL; - /* find the command */ - for(cmd = mon_cmds; cmd->name != NULL; cmd++) { - if (compare_cmd(cmdname, cmd->name)) - break; - } - - if (cmd->name == NULL) { + cmd = monitor_find_command(cmdname); + if (!cmd) { monitor_printf(mon, "unknown command: '%s'\n", cmdname); return NULL; } |