]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
testParseXMLDocFromFile: Refactor control flow
authorPeter Krempa <pkrempa@redhat.com>
Thu, 22 Sep 2022 14:22:53 +0000 (16:22 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 6 Oct 2022 08:54:24 +0000 (10:54 +0200)
Move few variables definitions closer to usage, add comments explaining
what's happening and simplify the control flow.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/test/test_driver.c

index 1c101245641d80124898700aecd83521f8fae330..5740f54a587df1c71a01292d26fc5c6a51e799a9 100644 (file)
@@ -841,32 +841,34 @@ testDomainObjCheckTaint(virDomainObj *obj)
 }
 
 static xmlNodePtr
-testParseXMLDocFromFile(xmlNodePtr node, const char *file, const char *type)
+testParseXMLDocFromFile(xmlNodePtr node,
+                        const char *file,
+                        const char *type)
 {
-    xmlNodePtr ret = NULL;
     g_autoptr(xmlDoc) doc = NULL;
-    g_autofree char *absFile = NULL;
     g_autofree char *relFile = NULL;
 
     if ((relFile = virXMLPropString(node, "file"))) {
-        absFile = testBuildFilename(file, relFile);
+        g_autofree char *absFile = testBuildFilename(file, relFile);
+        xmlNodePtr newnode = NULL;
 
         if (!(doc = virXMLParse(absFile, NULL, type, NULL, NULL, NULL, false)))
             return NULL;
 
-        ret = xmlCopyNode(xmlDocGetRootElement(doc), 1);
-        if (!ret) {
+        if (!(newnode = xmlCopyNode(xmlDocGetRootElement(doc), 1))) {
             virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                            _("Failed to copy XML node"));
             return NULL;
         }
-        xmlReplaceNode(node, ret);
+
+        /* place 'newnode' in place of 'node' in the original XML document object */
+        xmlReplaceNode(node, newnode);
+        /* free the original node */
         xmlFreeNode(node);
-    } else {
-        ret = node;
+        return newnode;
     }
 
-    return ret;
+    return node;
 }
 
 static int