[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] monitor: HMP: fix consecutive integer expressio
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] monitor: HMP: fix consecutive integer expression parsing |
Date: |
Fri, 05 Aug 2011 19:19:37 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Anthony Liguori <address@hidden> writes:
> On 08/03/2011 06:57 AM, Alon Levy wrote:
>> Currently a command that takes two consecutive integer operations, like
>> client_migrate_info, will be incorrectly parsed by the human monitor if
>> the second expression begins with a minus ('-') or plus ('+') sign:
>>
>> client_migrate_info<protocol> <hostname> <port> <tls-port>
>> client_migrate_info spice localhost 5900 -1
>> => port = 5899 = 5900 - 1
>> tls-port = -1
>> But expected by the user to be:
>> port = 5900
>> tls-port = -1
>>
>> The fix is that for any required integer (ilM) expression followed by another
>> integer expression (ilM) the first expression will be parsed by expr_unary
>> instead of expr_sum. So you can still use arithmetic, but you have to enclose
>> it in parenthesis:
>>
>> Command line | Old parsed result | With patch result
>> (1+1) 2 | 2, 2 | 2, 2
>> 1 -1 | 0, -1 | 1, -1
>> The rest are bizarre but not any worse then before
>> 1+2+3 | 6, 5 | 1, 5
>> (1+2)+3 | 3, 3 | 3, 3
>
> I vote for just removing the expression parsing entirely. It's
> incredibly non-intuitive and I don't think anyone really uses it.
Yes, please.
> Does anyone strongly object?