Re: [Qemu-devel] [PATCH v2] monitor: report entirety of hmp command on error

2018-06-21 Thread Collin Walling
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 ". 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 
>> Signed-off-by: Collin Walling 
> 
> 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, , 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




Re: [Qemu-devel] [PATCH v2] monitor: report entirety of hmp command on error

2018-06-21 Thread Dr. David Alan Gilbert
* 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 ". 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 
> Signed-off-by: Collin Walling 

Queued

> ---
>  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, , 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



Re: [Qemu-devel] [PATCH v2] monitor: report entirety of hmp command on error

2018-05-30 Thread Dr. David Alan Gilbert
* Markus Armbruster (arm...@redhat.com) wrote:
> David, looks like your turf.

Yep, I've got it on my list to take.

Dave

> Collin Walling  writes:
> 
> > When a user incorrectly provides an hmp command, an error response will be
> > printed that prompts the user to try "help ". 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 
> > Signed-off-by: Collin Walling 
> > ---
> >  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, , 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



Re: [Qemu-devel] [PATCH v2] monitor: report entirety of hmp command on error

2018-05-24 Thread Markus Armbruster
David, looks like your turf.

Collin Walling  writes:

> When a user incorrectly provides an hmp command, an error response will be
> printed that prompts the user to try "help ". 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 
> Signed-off-by: Collin Walling 
> ---
>  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, , 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;
>  }



Re: [Qemu-devel] [PATCH v2] monitor: report entirety of hmp command on error

2018-05-07 Thread Collin Walling
On 05/07/2018 12:44 PM, Eric Blake wrote:
> On 05/07/2018 09:30 AM, Collin Walling wrote:
>> When a user incorrectly provides an hmp command, an error response will be
>> printed that prompts the user to try "help ". 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.
>>
> 
> It's better to post a v2 patch as a new top-level thread instead of in-reply 
> to an earlier version, as some of our automated tooling is more likely to see 
> it.
> 
>> Reported-by: Mikhail Fokin 
>> Signed-off-by: Collin Walling 
>> ---
>>   monitor.c | 8 ++--
>>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> Reviewed-by: Eric Blake 
> 

Noted. And thank you for the r-b.

-- 
Respectfully,
- Collin Walling




Re: [Qemu-devel] [PATCH v2] monitor: report entirety of hmp command on error

2018-05-07 Thread Eric Blake

On 05/07/2018 09:30 AM, Collin Walling wrote:

When a user incorrectly provides an hmp command, an error response will be
printed that prompts the user to try "help ". 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.



It's better to post a v2 patch as a new top-level thread instead of 
in-reply to an earlier version, as some of our automated tooling is more 
likely to see it.



Reported-by: Mikhail Fokin 
Signed-off-by: Collin Walling 
---
  monitor.c | 8 ++--
  1 file changed, 6 insertions(+), 2 deletions(-)


Reviewed-by: Eric Blake 

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



Re: [Qemu-devel] [PATCH v2] monitor: report entirety of hmp command on error

2018-05-07 Thread Collin Walling
When a user incorrectly provides an hmp command, an error response will be
printed that prompts the user to try "help ". 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 
Signed-off-by: Collin Walling 
---
 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, , 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