]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh-snapshot: Refactor cmdSnapshotDumpXML
authorPeter Krempa <pkrempa@redhat.com>
Mon, 21 Jan 2013 16:54:17 +0000 (17:54 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 4 Feb 2013 13:17:44 +0000 (14:17 +0100)
This patch simplifies error paths and switches to use
vshCommandOptStringReq for argument retrieval in cmdSnapshotDumpXML

tools/virsh-snapshot.c

index f76c40e342911c70fbc820234817a5797f231dae..c980b5b499cb11929edad902230c5d4cc9258069 100644 (file)
@@ -1775,31 +1775,26 @@ cmdSnapshotDumpXML(vshControl *ctl, const vshCmd *cmd)
     if (vshCommandOptBool(cmd, "security-info"))
         flags |= VIR_DOMAIN_XML_SECURE;
 
-    dom = vshCommandOptDomain(ctl, cmd, NULL);
-    if (dom == NULL)
-        goto cleanup;
+    if (vshCommandOptStringReq(ctl, cmd, "snapshotname", &name) < 0)
+        return false;
 
-    if (vshCommandOptString(cmd, "snapshotname", &name) <= 0)
-        goto cleanup;
+    if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
+        return false;
 
-    snapshot = virDomainSnapshotLookupByName(dom, name, 0);
-    if (snapshot == NULL)
+    if (!(snapshot = virDomainSnapshotLookupByName(dom, name, 0)))
         goto cleanup;
 
-    xml = virDomainSnapshotGetXMLDesc(snapshot, flags);
-    if (!xml)
+    if (!(xml = virDomainSnapshotGetXMLDesc(snapshot, flags)))
         goto cleanup;
 
     vshPrint(ctl, "%s", xml);
-
     ret = true;
 
 cleanup:
     VIR_FREE(xml);
     if (snapshot)
         virDomainSnapshotFree(snapshot);
-    if (dom)
-        virDomainFree(dom);
+    virDomainFree(dom);
 
     return ret;
 }