]> git.proxmox.com Git - qemu.git/commitdiff
qmp: fix handling of boolean values in qmp-shell
authorIgor Mammedov <imammedo@redhat.com>
Mon, 25 Mar 2013 14:48:46 +0000 (15:48 +0100)
committerLuiz Capitulino <lcapitulino@redhat.com>
Mon, 25 Mar 2013 20:21:33 +0000 (16:21 -0400)
qmp-shell converts only integer arguments and the rest
is assumed to be strings which are faithfully sent as
quoted strings by json. But QEMU refuses to accept qmp
command with boolean argument whose value is escaped
as string.

Fix it by special-casing true/false keywords and store
value as corresponding boolean.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
QMP/qmp-shell

index 24b665c8c022bf1b870304ccb5ec8699a1c71800..d126e63ad19a696179ddf92b13a8873ec45fceff 100755 (executable)
@@ -101,7 +101,12 @@ class QMPShell(qmp.QEMUMonitorProtocol):
             try:
                 value = int(opt[1])
             except ValueError:
-                value = opt[1]
+                if opt[1] == 'true':
+                    value = True
+                elif opt[1] == 'false':
+                    value = False
+                else:
+                    value = opt[1]
             qmpcmd['arguments'][opt[0]] = value
         return qmpcmd