Use g_auto* pointers to avoid the need for the cleanup label. The
type of the pointer 'virDomainPtr dom' was changed to its alias
'virshDomainPtr' to allow the use of g_autoptr().
Signed-off-by: Daniel Henrique Barboza <danielhb413(a)gmail.com>
---
tools/virsh-domain.c | 26 +++++++++-----------------
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 23d41a4ddf..cfae42eda9 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -6928,12 +6928,11 @@ static bool
cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd)
{
virDomainInfo info;
- virDomainPtr dom;
- virVcpuInfoPtr cpuinfo = NULL;
- unsigned char *cpumaps = NULL;
+ g_autoptr(virshDomain) dom = NULL;
+ g_autofree virVcpuInfoPtr cpuinfo = NULL;
+ g_autofree unsigned char *cpumaps = NULL;
int ncpus, maxcpu;
size_t cpumaplen;
- bool ret = false;
bool pretty = vshCommandOptBool(cmd, "pretty");
int n;
virshControlPtr priv = ctl->privData;
@@ -6942,10 +6941,10 @@ cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd)
return false;
if ((maxcpu = virshNodeGetCPUCount(priv->conn)) < 0)
- goto cleanup;
+ return false;
if (virDomainGetInfo(dom, &info) != 0)
- goto cleanup;
+ return false;
cpuinfo = vshMalloc(ctl, sizeof(virVcpuInfo)*info.nrVirtCpu);
cpumaplen = VIR_CPU_MAPLEN(maxcpu);
@@ -6955,13 +6954,12 @@ cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd)
cpuinfo, info.nrVirtCpu,
cpumaps, cpumaplen)) < 0) {
if (info.state != VIR_DOMAIN_SHUTOFF)
- goto cleanup;
+ return false;
vshResetLibvirtError();
/* for offline VMs we can return pinning information */
- ret = virshVcpuinfoInactive(ctl, dom, maxcpu, pretty);
- goto cleanup;
+ return virshVcpuinfoInactive(ctl, dom, maxcpu, pretty);
}
for (n = 0; n < ncpus; n++) {
@@ -6979,19 +6977,13 @@ cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd)
if (virshVcpuinfoPrintAffinity(ctl, VIR_GET_CPUMAP(cpumaps, cpumaplen, n),
maxcpu, pretty) < 0)
- goto cleanup;
+ return false;
if (n < (ncpus - 1))
vshPrint(ctl, "\n");
}
- ret = true;
-
- cleanup:
- VIR_FREE(cpumaps);
- VIR_FREE(cpuinfo);
- virshDomainFree(dom);
- return ret;
+ return true;
}
/*
--
2.26.2