]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Replace virDomainDiskSourceAuthParse by an XPath query
authorPeter Krempa <pkrempa@redhat.com>
Tue, 6 Mar 2018 13:24:49 +0000 (14:24 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 8 Mar 2018 13:29:49 +0000 (14:29 +0100)
Remove the rather bulky function in favor of an XPath query.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
src/conf/domain_conf.c

index f872ddd868dc57289273f1b2700e73f75422e2ac..91c9129f99b98811f156fb4525675161b17caa6e 100644 (file)
@@ -8540,30 +8540,6 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
 }
 
 
-static int
-virDomainDiskSourceAuthParse(xmlNodePtr node,
-                             virStorageAuthDefPtr *authdefsrc,
-                             xmlXPathContextPtr ctxt)
-{
-    xmlNodePtr child;
-    virStorageAuthDefPtr authdef;
-
-    for (child = node->children; child; child = child->next) {
-        if (child->type == XML_ELEMENT_NODE &&
-            virXMLNodeNameEqual(child, "auth")) {
-
-            if (!(authdef = virStorageAuthDefParse(child, ctxt)))
-                return -1;
-
-            *authdefsrc = authdef;
-            return 0;
-        }
-    }
-
-    return 0;
-}
-
-
 static int
 virDomainDiskSourceEncryptionParse(xmlNodePtr node,
                                    virStorageEncryptionPtr *encryptionsrc)
@@ -8627,6 +8603,7 @@ virDomainDiskSourceParse(xmlNodePtr node,
 {
     int ret = -1;
     xmlNodePtr saveNode = ctxt->node;
+    xmlNodePtr tmp;
 
     ctxt->node = node;
 
@@ -8656,7 +8633,8 @@ virDomainDiskSourceParse(xmlNodePtr node,
         goto cleanup;
     }
 
-    if (virDomainDiskSourceAuthParse(node, &src->auth, ctxt) < 0)
+    if ((tmp = virXPathNode("./auth", ctxt)) &&
+        !(src->auth = virStorageAuthDefParse(tmp, ctxt)))
         goto cleanup;
 
     if (virDomainDiskSourceEncryptionParse(node, &src->encryption) < 0)