diff options
author | Peter Krempa <pkrempa@redhat.com> | 2022-12-02 10:14:09 +0100 |
---|---|---|
committer | Peter Krempa <pkrempa@redhat.com> | 2022-12-02 16:49:25 +0100 |
commit | be9560070be18019d744f7715a36a16072abac15 (patch) | |
tree | d11464ee561880019c83841b89796a02db45d49a /tools | |
parent | e9b7f06140b25d001b07c363eb20e5f31a7015b9 (diff) | |
download | libvirt-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.c | 22 |
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; } /* |