Construct the query string by using virBufferTrim rather than having to remember to add a space and simplify cleanup path. --- tools/virsh-domain.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 45fce76..120b768 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -8942,22 +8942,19 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; const vshCmdOpt *opt = NULL; virBuffer buf = VIR_BUFFER_INITIALIZER; - bool pad = false; virJSONValuePtr pretty = NULL; char *prettystr = NULL; VSH_EXCLUSIVE_OPTIONS("hmp", "pretty"); - dom = virshCommandOptDomain(ctl, cmd, NULL); - if (dom == NULL) - goto cleanup; + if (!(dom = virshCommandOptDomain(ctl, cmd, NULL))) + return false; + + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) + virBufferAsprintf(&buf, "%s ", opt->data); + + virBufferTrim(&buf, " ", -1); - while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { - if (pad) - virBufferAddChar(&buf, ' '); - pad = true; - virBufferAdd(&buf, opt->data, -1); - } if (virBufferError(&buf)) { vshPrint(ctl, "%s", _("Failed to collect command")); goto cleanup; @@ -8986,8 +8983,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd) VIR_FREE(prettystr); VIR_FREE(monitor_cmd); virJSONValueFree(pretty); - if (dom) - virDomainFree(dom); + virDomainFree(dom); return ret; } -- 2.9.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list