From 250b8197640f994dbf59cb742e849d14ada0a8f5 Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Thu, 17 Aug 2017 11:42:16 +0100 Subject: 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 Signed-off-by: Dr. David Alan Gilbert Message-Id: <20170817104216.29150-3-dgilbert@redhat.com> Reviewed-by: Eric Blake Signed-off-by: Dr. David Alan Gilbert --- monitor.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'monitor.c') 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; } -- cgit v1.2.1