]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Use automatic pointers for xmlXPathContext
authorPeter Krempa <pkrempa@redhat.com>
Mon, 16 Sep 2019 10:52:57 +0000 (12:52 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 19 Sep 2019 12:31:15 +0000 (14:31 +0200)
Clean up functions which grab and free the context to use VIR_AUTOPTR.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/conf/checkpoint_conf.c
src/conf/domain_conf.c
src/conf/interface_conf.c
src/conf/network_conf.c
src/conf/node_device_conf.c
src/conf/nwfilter_conf.c
src/conf/snapshot_conf.c
src/conf/storage_conf.c

index 113d85cc14fe4a4f788bb0212efeef6ba3b8bf96..5c998267aa7076c35e0b0ed123bc846572d52197 100644 (file)
@@ -209,13 +209,12 @@ virDomainCheckpointDefParseNode(xmlDocPtr xml,
                                 void *parseOpaque,
                                 unsigned int flags)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virDomainCheckpointDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
     VIR_AUTOFREE(char *) schema = NULL;
 
     if (!virXMLNodeNameEqual(root, "domaincheckpoint")) {
         virReportError(VIR_ERR_XML_ERROR, "%s", _("domaincheckpoint"));
-        goto cleanup;
+        return NULL;
     }
 
     /* This is a new enough API to make schema validation unconditional */
@@ -228,13 +227,10 @@ virDomainCheckpointDefParseNode(xmlDocPtr xml,
         return NULL;
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virDomainCheckpointDefParse(ctxt, caps, xmlopt, parseOpaque, flags);
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virDomainCheckpointDefParse(ctxt, caps, xmlopt, parseOpaque, flags);
 }
 
 virDomainCheckpointDefPtr
index 2fe591c3283b0e8721417e0e8f79bc9e36c7e1ec..0ab69a936623e7dc8287887d4a1037d41ef0f7d4 100644 (file)
@@ -21600,26 +21600,21 @@ virDomainObjParseNode(xmlDocPtr xml,
                       virDomainXMLOptionPtr xmlopt,
                       unsigned int flags)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virDomainObjPtr obj = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (!virXMLNodeNameEqual(root, "domstatus")) {
         virReportError(VIR_ERR_XML_ERROR,
                        _("unexpected root element <%s>, "
                          "expecting <domstatus>"),
                        root->name);
-        goto cleanup;
+        return NULL;
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    obj = virDomainObjParseXML(xml, ctxt, caps, xmlopt, flags);
-
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return obj;
+    return virDomainObjParseXML(xml, ctxt, caps, xmlopt, flags);
 }
 
 
index 64729aea43e0056411ee0696182d5921aefd4910..2b65a235eaf9abb6f456dde25a89f8e4a2e15030 100644 (file)
@@ -819,8 +819,7 @@ virInterfaceDefPtr
 virInterfaceDefParseNode(xmlDocPtr xml,
                          xmlNodePtr root)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virInterfaceDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (!virXMLNodeNameEqual(root, "interface")) {
         virReportError(VIR_ERR_XML_ERROR,
@@ -831,14 +830,10 @@ virInterfaceDefParseNode(xmlDocPtr xml,
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST);
-
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST);
 }
 
 
index b65fb1f67a366d42bd0f3648be45bee52d5d6f1f..9990d5e79d8b6a61eb222493e4f0e6d8ad73743d 100644 (file)
@@ -2114,8 +2114,7 @@ virNetworkDefParseNode(xmlDocPtr xml,
                        xmlNodePtr root,
                        virNetworkXMLOptionPtr xmlopt)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virNetworkDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (!virXMLNodeNameEqual(root, "network")) {
         virReportError(VIR_ERR_XML_ERROR,
@@ -2126,14 +2125,10 @@ virNetworkDefParseNode(xmlDocPtr xml,
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virNetworkDefParseXML(ctxt, xmlopt);
-
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virNetworkDefParseXML(ctxt, xmlopt);
 }
 
 
index 8f8830aef19968217bf49879a4053fc4044b8055..84fcbd3e78462ba11a8de0124e40f02f0aa66775 100644 (file)
@@ -2052,8 +2052,7 @@ virNodeDeviceDefParseNode(xmlDocPtr xml,
                           int create,
                           const char *virt_type)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virNodeDeviceDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (!virXMLNodeNameEqual(root, "device")) {
         virReportError(VIR_ERR_XML_ERROR,
@@ -2064,14 +2063,10 @@ virNodeDeviceDefParseNode(xmlDocPtr xml,
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virNodeDeviceDefParseXML(ctxt, create, virt_type);
-
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virNodeDeviceDefParseXML(ctxt, create, virt_type);
 }
 
 
index 21885eb7ae36a22951b022a2769e9a37aa0ac71e..d21eebf19d62b631a4892efe77d460e7af67de6e 100644 (file)
@@ -2746,25 +2746,20 @@ virNWFilterDefPtr
 virNWFilterDefParseNode(xmlDocPtr xml,
                         xmlNodePtr root)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virNWFilterDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (STRNEQ((const char *)root->name, "filter")) {
         virReportError(VIR_ERR_XML_ERROR,
                        "%s",
                        _("unknown root element for nw filter"));
-        goto cleanup;
+        return NULL;
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virNWFilterDefParseXML(ctxt);
-
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virNWFilterDefParseXML(ctxt);
 }
 
 
index 8cf80aed83d2e2d8a5416e6d6affdeed8c040a1d..61c807a71f162a684da028fd1364fe6bd674708e 100644 (file)
@@ -430,12 +430,11 @@ virDomainSnapshotDefParseNode(xmlDocPtr xml,
                               bool *current,
                               unsigned int flags)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virDomainSnapshotDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (!virXMLNodeNameEqual(root, "domainsnapshot")) {
         virReportError(VIR_ERR_XML_ERROR, "%s", _("domainsnapshot"));
-        goto cleanup;
+        return NULL;
     }
 
     if (flags & VIR_DOMAIN_SNAPSHOT_PARSE_VALIDATE) {
@@ -445,19 +444,16 @@ virDomainSnapshotDefParseNode(xmlDocPtr xml,
                                      abs_top_srcdir "/docs/schemas",
                                      PKGDATADIR "/schemas");
         if (!schema)
-            goto cleanup;
+            return NULL;
         if (virXMLValidateAgainstSchema(schema, xml) < 0)
-            goto cleanup;
+            return NULL;
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virDomainSnapshotDefParse(ctxt, caps, xmlopt, parseOpaque, current, flags);
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virDomainSnapshotDefParse(ctxt, caps, xmlopt, parseOpaque, current, flags);
 }
 
 virDomainSnapshotDefPtr
index 05609942810606931dc74748fac55f427b2ebe38..f6de3687abca38dfa58eb3455b9e27d82ad796cf 100644 (file)
@@ -1013,25 +1013,21 @@ virStoragePoolDefPtr
 virStoragePoolDefParseNode(xmlDocPtr xml,
                            xmlNodePtr root)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virStoragePoolDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (!virXMLNodeNameEqual(root, "pool")) {
         virReportError(VIR_ERR_XML_ERROR,
                        _("unexpected root element <%s>, "
                          "expecting <pool>"),
                        root->name);
-        goto cleanup;
+        return NULL;
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virStoragePoolDefParseXML(ctxt);
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virStoragePoolDefParseXML(ctxt);
 }
 
 
@@ -1454,25 +1450,21 @@ virStorageVolDefParseNode(virStoragePoolDefPtr pool,
                           xmlNodePtr root,
                           unsigned int flags)
 {
-    xmlXPathContextPtr ctxt = NULL;
-    virStorageVolDefPtr def = NULL;
+    VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
 
     if (!virXMLNodeNameEqual(root, "volume")) {
         virReportError(VIR_ERR_XML_ERROR,
                        _("unexpected root element <%s>, "
                          "expecting <volume>"),
                        root->name);
-        goto cleanup;
+        return NULL;
     }
 
     if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
+        return NULL;
 
     ctxt->node = root;
-    def = virStorageVolDefParseXML(pool, ctxt, flags);
- cleanup:
-    xmlXPathFreeContext(ctxt);
-    return def;
+    return virStorageVolDefParseXML(pool, ctxt, flags);
 }