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


Reply via email to