aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2017-08-17 11:42:16 +0100
committerDr. David Alan Gilbert <dgilbert@redhat.com>2017-10-05 10:01:21 +0100
commit250b8197640f994dbf59cb742e849d14ada0a8f5 (patch)
tree0b8b20bce8cc3ee1da691045c9f01b7f70a7f87c /monitor.c
parent40c71f6361b739409508a3be4221d4f5b03d4a0b (diff)
hmp: Fix unknown command for subtable
(qemu) info foo unknown command: 'foo' fix this to: (qemu) info foo unknown command: 'info foo' Reported-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20170817104216.29150-3-dgilbert@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/monitor.c b/monitor.c
index 94fb197c0d..fe0d1bdbb4 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2697,6 +2697,7 @@ static const mon_cmd_t *search_dispatch_table(const mon_cmd_t *disp_table,
* the command is found in a sub-command table.
*/
static const mon_cmd_t *monitor_parse_command(Monitor *mon,
+ const char *cmdp_start,
const char **cmdp,
mon_cmd_t *table)
{
@@ -2712,7 +2713,7 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon,
cmd = search_dispatch_table(table, cmdname);
if (!cmd) {
monitor_printf(mon, "unknown command: '%.*s'\n",
- (int)(p - *cmdp), *cmdp);
+ (int)(p - cmdp_start), cmdp_start);
return NULL;
}
@@ -2724,7 +2725,7 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon,
*cmdp = p;
/* search sub command */
if (cmd->sub_table != NULL && *p != '\0') {
- return monitor_parse_command(mon, cmdp, cmd->sub_table);
+ return monitor_parse_command(mon, cmdp_start, cmdp, cmd->sub_table);
}
return cmd;
@@ -3108,7 +3109,7 @@ static void handle_hmp_command(Monitor *mon, const char *cmdline)
trace_handle_hmp_command(mon, cmdline);
- cmd = monitor_parse_command(mon, &cmdline, mon->cmd_table);
+ cmd = monitor_parse_command(mon, cmdline, &cmdline, mon->cmd_table);
if (!cmd) {
return;
}