On Mon, 25 Mar 2013 15:48:46 +0100 Igor Mammedov <imamm...@redhat.com> wrote:
> 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 <imamm...@redhat.com> Applied to the qmp branch, thanks. > --- > QMP/qmp-shell | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/QMP/qmp-shell b/QMP/qmp-shell > index 24b665c..d126e63 100755 > --- a/QMP/qmp-shell > +++ b/QMP/qmp-shell > @@ -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 >