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",
);
static virInterfaceDef *
virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType);
static int
virInterfaceDefDevFormat(virBuffer *buf, const virInterfaceDef *def,
virInterfaceType parentIfType);
@ -565,7 +562,7 @@ virInterfaceDefParseVlan(virInterfaceDef *def,
}
static virInterfaceDef *
virInterfaceDef *
virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
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 *
virInterfaceDefParse(const char *xmlStr,
const char *filename,
unsigned int flags)
{
g_autoptr(xmlDoc) xml = NULL;
g_autoptr(xmlXPathContext) ctxt = NULL;
bool validate = flags & VIR_INTERFACE_DEFINE_VALIDATE;
xml = virXMLParse(filename, xmlStr, _("(interface_definition)"),
NULL, NULL, "interface.rng", validate);
if (!xml)
if (!(xml = virXMLParse(filename, xmlStr, _("(interface_definition)"),
"interface", &ctxt, "interface.rng", validate)))
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);
virInterfaceDef *
virInterfaceDefParseNode(xmlDocPtr xml,
xmlNodePtr root);
virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
int parentIfType);
char *
virInterfaceDefFormat(const virInterfaceDef *def);

View File

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

View File

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