qmp: fix handling of cmd with Equals in qmp-shell
commit74bc9066bc2cf61dd12994ea3b73401d33112656
authorZhangleiqiang <zhangleiqiang@huawei.com>
Mon, 6 May 2013 08:31:23 +0000 (6 08:31 +0000)
committerLuiz Capitulino <lcapitulino@redhat.com>
Wed, 15 May 2013 12:58:43 +0000 (15 08:58 -0400)
tree3a640134c4b4c6b92e1875ae36542cd8ebb327b6
parent110db9b48c0a6379fca122801c3ae48e349aa6d4
qmp: fix handling of cmd with Equals in qmp-shell

qmp: fix handling of cmd with equal mark in qmp-shell

    qmp-shell splits the argument and value of input command
by equal mark("="). But there are commands whose values
include equal mark themselves, and the json built by
qmp-shell will not correct. For example, when using NBD as
the target of block-backup command, the input
"block-backup target=nbd+unix:///drive0?socket=/tmp/nbd.sock"
will fail, because the json built will be as follows:

    {
"execute":"block-backup",
"arguments":{"target":"nbd+unix:///drive0?socket"}
}

    Fix it by joining the sections split by equal mark excluding the
first section in __build_cmd function when the length of sections
is larger than two.

Signed-off-by: zhangleiqiang <zhangleiqiang@huawei.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
QMP/qmp-shell