On 06/21/2018 07:19 AM, Dr. David Alan Gilbert wrote: > * Collin Walling (wall...@linux.ibm.com) wrote: >> When a user incorrectly provides an hmp command, an error response will be >> printed that prompts the user to try "help <command name>". However, when >> the command contains multiple parts e.g. "info uuid xyz", only the last >> whitespace delimited string will be reported (in this example "info" will >> be dropped and the message will read "Try "help uuid" for more information", >> which is incorrect). >> >> Let's correct this by capturing the entirety of the command from the command >> line -- excluding any extraneous characters. >> >> Reported-by: Mikhail Fokin <fo...@de.ibm.com> >> Signed-off-by: Collin Walling <wall...@linux.ibm.com> > > Queued
Thank you! > >> --- >> monitor.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/monitor.c b/monitor.c >> index 39f8ee1..38736b3 100644 >> --- a/monitor.c >> +++ b/monitor.c >> @@ -3371,6 +3371,7 @@ static void handle_hmp_command(Monitor *mon, const >> char *cmdline) >> { >> QDict *qdict; >> const mon_cmd_t *cmd; >> + const char *cmd_start = cmdline; >> >> trace_handle_hmp_command(mon, cmdline); >> >> @@ -3381,8 +3382,11 @@ static void handle_hmp_command(Monitor *mon, const >> char *cmdline) >> >> qdict = monitor_parse_arguments(mon, &cmdline, cmd); >> if (!qdict) { >> - monitor_printf(mon, "Try \"help %s\" for more information\n", >> - cmd->name); >> + while (cmdline > cmd_start && qemu_isspace(cmdline[-1])) { >> + cmdline--; >> + } >> + monitor_printf(mon, "Try \"help %.*s\" for more information\n", >> + (int)(cmdline - cmd_start), cmd_start); >> return; >> } >> >> -- >> 2.7.4 >> >> > -- > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > -- Respectfully, - Collin Walling