]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: checkpoint: Remove virDomainCheckpointDefParseNode
authorPeter Krempa <pkrempa@redhat.com>
Thu, 22 Sep 2022 15:56:53 +0000 (17:56 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 6 Oct 2022 08:54:24 +0000 (10:54 +0200)
Replace all it does by properly using virXMLParse.

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

index 0d2d2050da7bb150f5257826d219d157c8614390..ea20bfdd14296595b35167bdc67ce921ea802409 100644 (file)
@@ -181,26 +181,6 @@ virDomainCheckpointDefParse(xmlXPathContextPtr ctxt,
     return ret;
 }
 
-static virDomainCheckpointDef *
-virDomainCheckpointDefParseNode(xmlDocPtr xml,
-                                xmlNodePtr root,
-                                virDomainXMLOption *xmlopt,
-                                void *parseOpaque,
-                                unsigned int flags)
-{
-    g_autoptr(xmlXPathContext) ctxt = NULL;
-
-    if (!virXMLNodeNameEqual(root, "domaincheckpoint")) {
-        virReportError(VIR_ERR_XML_ERROR, "%s", _("domaincheckpoint"));
-        return NULL;
-    }
-
-    if (!(ctxt = virXMLXPathContextNew(xml)))
-        return NULL;
-
-    ctxt->node = root;
-    return virDomainCheckpointDefParse(ctxt, xmlopt, parseOpaque, flags);
-}
 
 virDomainCheckpointDef *
 virDomainCheckpointDefParseString(const char *xmlStr,
@@ -208,19 +188,19 @@ virDomainCheckpointDefParseString(const char *xmlStr,
                                   void *parseOpaque,
                                   unsigned int flags)
 {
-    virDomainCheckpointDef *ret = NULL;
     g_autoptr(xmlDoc) xml = NULL;
+    g_autoptr(xmlXPathContext) ctxt = NULL;
     int keepBlanksDefault = xmlKeepBlanksDefault(0);
 
-    if ((xml = virXMLParse(NULL, xmlStr, _("(domain_checkpoint)"), NULL, NULL,
-                           "domaincheckpoint.rng", true))) {
-        xmlKeepBlanksDefault(keepBlanksDefault);
-        ret = virDomainCheckpointDefParseNode(xml, xmlDocGetRootElement(xml),
-                                              xmlopt, parseOpaque, flags);
-    }
+    xml = virXMLParse(NULL, xmlStr, _("(domain_checkpoint)"),
+                      "domaincheckpoint", &ctxt, "domaincheckpoint.rng", true);
+
     xmlKeepBlanksDefault(keepBlanksDefault);
 
-    return ret;
+    if (!xml)
+        return NULL;
+
+    return virDomainCheckpointDefParse(ctxt, xmlopt, parseOpaque, flags);
 }