]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: nwfilter: Remove virNWFilterDefParseNode
authorPeter Krempa <pkrempa@redhat.com>
Fri, 23 Sep 2022 08:32:52 +0000 (10:32 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 6 Oct 2022 08:54:25 +0000 (10:54 +0200)
Use virXMLParse to fetch the XML context and validate the top level XML
element name so that virNWFilterDefParseNode is no longer needed.

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

index 44ea056823ea5d113aa2c490dc0879fa67f6e187..00728782d134f8c8812c162655c3fe4611681dc9 100644 (file)
@@ -2685,42 +2685,20 @@ virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
 }
 
 
-virNWFilterDef *
-virNWFilterDefParseNode(xmlDocPtr xml,
-                        xmlNodePtr root)
-{
-    g_autoptr(xmlXPathContext) ctxt = NULL;
-
-    if (STRNEQ((const char *)root->name, "filter")) {
-        virReportError(VIR_ERR_XML_ERROR,
-                       "%s",
-                       _("unknown root element for nw filter"));
-        return NULL;
-    }
-
-    if (!(ctxt = virXMLXPathContextNew(xml)))
-        return NULL;
-
-    ctxt->node = root;
-    return virNWFilterDefParseXML(ctxt);
-}
-
-
 static virNWFilterDef *
 virNWFilterDefParse(const char *xmlStr,
                     const char *filename,
                     unsigned int flags)
 {
-    virNWFilterDef *def = NULL;
     g_autoptr(xmlDoc) xml = NULL;
+    g_autoptr(xmlXPathContext) ctxt = NULL;
     bool validate = flags & VIR_NWFILTER_DEFINE_VALIDATE;
 
-    if ((xml = virXMLParse(filename, xmlStr, _("(nwfilter_definition)"),
-                           NULL, NULL, "nwfilter.rng", validate))) {
-        def = virNWFilterDefParseNode(xml, xmlDocGetRootElement(xml));
-    }
+    if (!(xml = virXMLParse(filename, xmlStr, _("(nwfilter_definition)"),
+                            "filter", &ctxt, "nwfilter.rng", validate)))
+        return NULL;
 
-    return def;
+    return virNWFilterDefParseXML(ctxt);
 }
 
 
index b67364714acbefcb53b91481f70d2108a5fa58de..b8a970f00b8de84527c63f4eea6e82e59c94bcb1 100644 (file)
@@ -533,10 +533,6 @@ int
 virNWFilterDeleteDef(const char *configDir,
                      virNWFilterDef *def);
 
-virNWFilterDef *
-virNWFilterDefParseNode(xmlDocPtr xml,
-                        xmlNodePtr root);
-
 char *
 virNWFilterDefFormat(const virNWFilterDef *def);