virsh: qemu-monitor-command: Simplify control flow

Construct the query string by using virBufferTrim rather than having to
remember to add a space and simplify cleanup path.
This commit is contained in:
Peter Krempa 2016-08-01 06:24:35 +02:00
parent 36428fa80b
commit 8941c800ec

View File

@ -8942,21 +8942,18 @@ 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;
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;
@ -8987,8 +8984,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd)
VIR_FREE(result);
VIR_FREE(monitor_cmd);
virJSONValueFree(pretty);
if (dom)
virDomainFree(dom);
virDomainFree(dom);
return ret;
}