aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2009-11-26 22:58:54 -0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-03 09:41:22 -0600
commit7fd669a1c49743073e53166798244f15b1a8e0d2 (patch)
tree03e97d76b8d7aeaa1859074566c0d667ff32243c /monitor.c
parent99e2fc1672bbf84d081729a42c6a579ffdffecf8 (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.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/monitor.c b/monitor.c
index e202ba0024..fd0fa76f4a 100644
--- a/monitor.c
+++ b/monitor.c
@@ -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;
}