summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPeter Krempa <pkrempa@redhat.com>2022-12-02 10:14:09 +0100
committerPeter Krempa <pkrempa@redhat.com>2022-12-02 16:49:25 +0100
commitbe9560070be18019d744f7715a36a16072abac15 (patch)
treed11464ee561880019c83841b89796a02db45d49a /tools
parente9b7f06140b25d001b07c363eb20e5f31a7015b9 (diff)
downloadlibvirt-be9560070be18019d744f7715a36a16072abac15.tar.gz
virsh: cmdDetachDisk: Refactor cleanup
Use automatic pointer freeing for the 'disk_node' variable and remove the 'cleanup' label and 'functionReturn' variable. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/virsh-domain.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 9b830f8ef9..c3142edc44 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -12894,8 +12894,7 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd)
const char *target = NULL;
g_autofree char *doc = NULL;
int ret;
- bool functionReturn = false;
- xmlNodePtr disk_node = NULL;
+ g_autoptr(xmlNode) disk_node = NULL;
bool current = vshCommandOptBool(cmd, "current");
bool config = vshCommandOptBool(cmd, "config");
bool live = vshCommandOptBool(cmd, "live");
@@ -12916,7 +12915,7 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd)
return false;
if (vshCommandOptStringReq(ctl, cmd, "target", &target) < 0)
- goto cleanup;
+ return false;
if (flags == VIR_DOMAIN_AFFECT_CONFIG)
doc = virDomainGetXMLDesc(dom, VIR_DOMAIN_XML_INACTIVE);
@@ -12924,24 +12923,23 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd)
doc = virDomainGetXMLDesc(dom, 0);
if (!doc)
- goto cleanup;
+ return false;
if (persistent &&
virDomainIsActive(dom) == 1)
flags |= VIR_DOMAIN_AFFECT_LIVE;
if (!(disk_node = virshFindDisk(doc, target, VIRSH_FIND_DISK_NORMAL)))
- goto cleanup;
+ return false;
if (!(disk_xml = virXMLNodeToString(NULL, disk_node))) {
vshSaveLibvirtError();
- goto cleanup;
+ return false;
}
if (vshCommandOptBool(cmd, "print-xml")) {
vshPrint(ctl, "%s", disk_xml);
- functionReturn = true;
- goto cleanup;
+ return true;
}
if (flags != 0 || current)
@@ -12951,15 +12949,11 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd)
if (ret != 0) {
vshError(ctl, "%s", _("Failed to detach disk"));
- goto cleanup;
+ return false;
}
vshPrintExtra(ctl, "%s", _("Disk detached successfully\n"));
- functionReturn = true;
-
- cleanup:
- xmlFreeNode(disk_node);
- return functionReturn;
+ return true;
}
/*