conf: interface: Remove virInterfaceDefParseNode

Both callers be easily made to call virInterfaceDefParseXML directly.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2022-09-23 13:07:36 +02:00
parent 37de09a2f9
commit 05ffd59436
4 changed files with 12 additions and 37 deletions

View File

@ -33,9 +33,6 @@ VIR_ENUM_IMPL(virInterface,
"ethernet", "bridge", "bond", "vlan", "ethernet", "bridge", "bond", "vlan",
); );
static virInterfaceDef *
virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType);
static int static int
virInterfaceDefDevFormat(virBuffer *buf, const virInterfaceDef *def, virInterfaceDefDevFormat(virBuffer *buf, const virInterfaceDef *def,
virInterfaceType parentIfType); virInterfaceType parentIfType);
@ -565,7 +562,7 @@ virInterfaceDefParseVlan(virInterfaceDef *def,
} }
static virInterfaceDef * virInterfaceDef *
virInterfaceDefParseXML(xmlXPathContextPtr ctxt, virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
int parentIfType) int parentIfType)
{ {
@ -672,42 +669,20 @@ virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
} }
virInterfaceDef *
virInterfaceDefParseNode(xmlDocPtr xml,
xmlNodePtr root)
{
g_autoptr(xmlXPathContext) ctxt = NULL;
if (!virXMLNodeNameEqual(root, "interface")) {
virReportError(VIR_ERR_XML_ERROR,
_("unexpected root element <%s>, "
"expecting <interface>"),
root->name);
return NULL;
}
if (!(ctxt = virXMLXPathContextNew(xml)))
return NULL;
ctxt->node = root;
return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST);
}
static virInterfaceDef * static virInterfaceDef *
virInterfaceDefParse(const char *xmlStr, virInterfaceDefParse(const char *xmlStr,
const char *filename, const char *filename,
unsigned int flags) unsigned int flags)
{ {
g_autoptr(xmlDoc) xml = NULL; g_autoptr(xmlDoc) xml = NULL;
g_autoptr(xmlXPathContext) ctxt = NULL;
bool validate = flags & VIR_INTERFACE_DEFINE_VALIDATE; bool validate = flags & VIR_INTERFACE_DEFINE_VALIDATE;
xml = virXMLParse(filename, xmlStr, _("(interface_definition)"), if (!(xml = virXMLParse(filename, xmlStr, _("(interface_definition)"),
NULL, NULL, "interface.rng", validate); "interface", &ctxt, "interface.rng", validate)))
if (!xml)
return NULL; return NULL;
return virInterfaceDefParseNode(xml, xmlDocGetRootElement(xml)); return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST);
} }

View File

@ -162,8 +162,8 @@ virInterfaceDef *
virInterfaceDefParseFile(const char *filename); virInterfaceDefParseFile(const char *filename);
virInterfaceDef * virInterfaceDef *
virInterfaceDefParseNode(xmlDocPtr xml, virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
xmlNodePtr root); int parentIfType);
char * char *
virInterfaceDefFormat(const virInterfaceDef *def); virInterfaceDefFormat(const virInterfaceDef *def);

View File

@ -793,8 +793,8 @@ virDomainDiskDefValidateStartupPolicy;
virInterfaceDefFormat; virInterfaceDefFormat;
virInterfaceDefFree; virInterfaceDefFree;
virInterfaceDefParseFile; virInterfaceDefParseFile;
virInterfaceDefParseNode;
virInterfaceDefParseString; virInterfaceDefParseString;
virInterfaceDefParseXML;
# conf/netdev_bandwidth_conf.h # conf/netdev_bandwidth_conf.h

View File

@ -1110,6 +1110,7 @@ testParseInterfaces(testDriver *privconn,
const char *file, const char *file,
xmlXPathContextPtr ctxt) xmlXPathContextPtr ctxt)
{ {
VIR_XPATH_NODE_AUTORESTORE(ctxt)
int num; int num;
size_t i; size_t i;
virInterfaceObj *obj; virInterfaceObj *obj;
@ -1121,12 +1122,11 @@ testParseInterfaces(testDriver *privconn,
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
g_autoptr(virInterfaceDef) def = NULL; g_autoptr(virInterfaceDef) def = NULL;
xmlNodePtr node = testParseXMLDocFromFile(nodes[i], file);
if (!node) if (!(ctxt->node = testParseXMLDocFromFile(nodes[i], file)))
return -1; return -1;
def = virInterfaceDefParseNode(ctxt->doc, node); if (!(def = virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST)))
if (!def)
return -1; return -1;
if (!(obj = virInterfaceObjListAssignDef(privconn->ifaces, &def))) if (!(obj = virInterfaceObjListAssignDef(privconn->ifaces, &def)))