Use automatic pointer freeing for the 'disk_node' variable and remove
the 'cleanup' label and 'ret' variable.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
tools/virsh-domain.c | 29 ++++++++++++-----------------
1 file changed, 12 insertions(+), 17 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 56490124a0..c4cf7aa95e 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -13089,9 +13089,8 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd)
const char *source = NULL;
const char *path = NULL;
g_autofree char *doc = NULL;
- xmlNodePtr disk_node = NULL;
+ g_autoptr(xmlNode) disk_node = NULL;
g_autofree char *disk_xml = NULL;
- bool ret = false;
virshUpdateDiskXMLType update_type;
const char *action = NULL;
const char *success_msg = NULL;
@@ -13152,38 +13151,34 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd)
return false;
if (vshCommandOptStringReq(ctl, cmd, "path", &path) < 0)
- goto cleanup;
+ return false;
if (flags & VIR_DOMAIN_AFFECT_CONFIG)
doc = virDomainGetXMLDesc(dom, VIR_DOMAIN_XML_INACTIVE);
else
doc = virDomainGetXMLDesc(dom, 0);
if (!doc)
- goto cleanup;
+ return false;
if (!(disk_node = virshFindDisk(doc, path, VIRSH_FIND_DISK_CHANGEABLE)))
- goto cleanup;
+ return false;
if (!(disk_xml = virshUpdateDiskXML(disk_node, source, block, path,
update_type)))
- goto cleanup;
+ return false;
if (vshCommandOptBool(cmd, "print-xml")) {
vshPrint(ctl, "%s", disk_xml);
- } else {
- if (virDomainUpdateDeviceFlags(dom, disk_xml, flags) != 0) {
- vshError(ctl, _("Failed to complete action %s on media"), action);
- goto cleanup;
- }
-
- vshPrint(ctl, "%s", success_msg);
+ return true;
}
- ret = true;
+ if (virDomainUpdateDeviceFlags(dom, disk_xml, flags) != 0) {
+ vshError(ctl, _("Failed to complete action %s on media"), action);
+ return false;
+ }
- cleanup:
- xmlFreeNode(disk_node);
- return ret;
+ vshPrint(ctl, "%s", success_msg);
+ return true;
}
static const vshCmdInfo info_domfstrim[] = {
--
2.38.1