On 2013年01月22日 02:07, Peter Krempa wrote:
--- tools/virsh-domain-monitor.c | 44 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c index 1e8b8cf..7e105fd 100644 --- a/tools/virsh-domain-monitor.c +++ b/tools/virsh-domain-monitor.c @@ -373,26 +373,25 @@ cmdDomblkinfo(vshControl *ctl, const vshCmd *cmd) { virDomainBlockInfo info; virDomainPtr dom; - bool ret = true; + bool ret = false; const char *device = NULL; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptString(cmd, "device",&device)<= 0) { - virDomainFree(dom); - return false; - } + if (vshCommandOptStringReq(ctl, cmd, "device",&device)< 0) + goto cleanup; - if (virDomainGetBlockInfo(dom, device,&info, 0)< 0) { - virDomainFree(dom); - return false; - } + if (virDomainGetBlockInfo(dom, device,&info, 0)< 0) + goto cleanup; vshPrint(ctl, "%-15s %llu\n", _("Capacity:"), info.capacity); vshPrint(ctl, "%-15s %llu\n", _("Allocation:"), info.allocation); vshPrint(ctl, "%-15s %llu\n", _("Physical:"), info.physical); + ret = true; + +cleanup: virDomainFree(dom); return ret; } @@ -670,16 +669,13 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptString(cmd, "interface",&iface)<= 0) { - virDomainFree(dom); - return false; - } + if (vshCommandOptStringReq(ctl, cmd, "interface",&iface)< 0) + goto cleanup; if (vshCommandOptBool(cmd, "config")) flags = VIR_DOMAIN_XML_INACTIVE; - desc = virDomainGetXMLDesc(dom, flags); - if (desc == NULL) { + if (!(desc = virDomainGetXMLDesc(dom, flags))) { vshError(ctl, _("Failed to get domain description xml")); goto cleanup; } @@ -752,8 +748,7 @@ cleanup: xmlXPathFreeObject(obj); xmlXPathFreeContext(ctxt); xmlFreeDoc(xml); - if (dom) - virDomainFree(dom); + virDomainFree(dom); return ret; } @@ -891,7 +886,7 @@ cmdDomblkstat(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd,&name))) return false; - if (vshCommandOptString(cmd, "device",&device)<= 0) + if (vshCommandOptStringReq(ctl, cmd, "device",&device)<= 0)
I think you mean < 0 here.
goto cleanup; rc = virDomainBlockStatsFlags(dom, device, NULL,&nparams, 0); @@ -1016,19 +1011,17 @@ cmdDomIfstat(vshControl *ctl, const vshCmd *cmd) virDomainPtr dom; const char *name = NULL, *device = NULL; struct _virDomainInterfaceStats stats; + bool ret = false; if (!(dom = vshCommandOptDomain(ctl, cmd,&name))) return false; - if (vshCommandOptString(cmd, "interface",&device)<= 0) { - virDomainFree(dom); - return false; - } + if (vshCommandOptStringReq(ctl, cmd, "interface",&device)< 0) + goto cleanup; if (virDomainInterfaceStats(dom, device,&stats, sizeof(stats)) == -1) { vshError(ctl, _("Failed to get interface stats %s %s"), name, device); - virDomainFree(dom); - return false; + goto cleanup; } if (stats.rx_bytes>= 0) @@ -1055,8 +1048,9 @@ cmdDomIfstat(vshControl *ctl, const vshCmd *cmd) if (stats.tx_drop>= 0) vshPrint(ctl, "%s tx_drop %lld\n", device, stats.tx_drop); +cleanup: virDomainFree(dom); - return true; + return ret;
Is "ret" set to true yet if success? -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list