From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44486) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpNc4-0003Bk-Gn for qemu-devel@nongnu.org; Fri, 05 Aug 2011 12:51:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QpNc3-0002Fc-GD for qemu-devel@nongnu.org; Fri, 05 Aug 2011 12:51:08 -0400 Received: from mail-pz0-f42.google.com ([209.85.210.42]:53941) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpNc3-0002FV-Bb for qemu-devel@nongnu.org; Fri, 05 Aug 2011 12:51:07 -0400 Received: by pzk37 with SMTP id 37so4927618pzk.29 for ; Fri, 05 Aug 2011 09:51:06 -0700 (PDT) Message-ID: <4E3C1F76.30107@codemonkey.ws> Date: Fri, 05 Aug 2011 11:51:02 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1312372647-6329-1-git-send-email-alevy@redhat.com> In-Reply-To: <1312372647-6329-1-git-send-email-alevy@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] monitor: HMP: fix consecutive integer expression parsing List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alon Levy Cc: qemu-devel@nongnu.org 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 > 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. Does anyone strongly object? Regards, Anthony Liguori