* Markus Armbruster (arm...@redhat.com) wrote: > David, looks like your turf.
Yep, I've got it on my list to take. Dave > Collin Walling <wall...@linux.ibm.com> writes: > > > 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> > > --- > > 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; > > } -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK