qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qmp: fix handling of cmd with Equals in qmp-she


From: Luiz Capitulino
Subject: Re: [Qemu-devel] [PATCH] qmp: fix handling of cmd with Equals in qmp-shell
Date: Mon, 6 May 2013 12:09:11 -0400

On Mon, 6 May 2013 08:31:23 +0000
Zhangleiqiang <address@hidden> wrote:

>       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 <address@hidden>

Applied to the qmp branch, thanks.

> ---
>  QMP/qmp-shell | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/QMP/qmp-shell b/QMP/qmp-shell
> index d126e63..73cb3b6 100755
> --- a/QMP/qmp-shell
> +++ b/QMP/qmp-shell
> @@ -99,6 +99,8 @@ class QMPShell(qmp.QEMUMonitorProtocol):
>          for arg in cmdargs[1:]:
>              opt = arg.split('=')
>              try:
> +                if(len(opt) > 2):
> +                    opt[1] = '='.join(opt[1:])
>                  value = int(opt[1])
>              except ValueError:
>                  if opt[1] == 'true':




reply via email to

[Prev in Thread] Current Thread [Next in Thread]