]> xenbits.xensource.com Git - libvirt.git/commitdiff
virsh: cmdDetachDisk: Refactor cleanup
authorPeter Krempa <pkrempa@redhat.com>
Fri, 2 Dec 2022 09:14:09 +0000 (10:14 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 2 Dec 2022 15:49:25 +0000 (16:49 +0100)
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>
tools/virsh-domain.c

index 9b830f8ef93506047f5e39104228566271ad632a..c3142edc4451aa428d9ff6d428f5a63da4bad415 100644 (file)
@@ -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;
 }
 
 /*