From 56b4186efc2112706d645edb9f70e76a9809fff6 Mon Sep 17 00:00:00 2001 From: Tim Wiederhake Date: Wed, 12 Jan 2022 13:41:25 +0100 Subject: [PATCH] virInterfaceDefParseXML: Simplify and cleanup Signed-off-by: Tim Wiederhake Reviewed-by: Michal Privoznik --- src/conf/interface_conf.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index 26844c14c8..6cb219437a 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -573,26 +573,14 @@ static virInterfaceDef * virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType) { - g_autoptr(virInterfaceDef) def = NULL; - int type; - g_autofree char *tmp = NULL; VIR_XPATH_NODE_AUTORESTORE(ctxt) + g_autoptr(virInterfaceDef) def = NULL; + virInterfaceType type; xmlNodePtr lnk; - - /* check @type */ - tmp = virXPathString("string(./@type)", ctxt); - if (tmp == NULL) { - virReportError(VIR_ERR_XML_ERROR, - "%s", _("interface misses the type attribute")); + if (virXMLPropEnum(ctxt->node, "type", virInterfaceTypeFromString, + VIR_XML_PROP_REQUIRED, &type) < 0) return NULL; - } - type = virInterfaceTypeFromString(tmp); - if (type == -1) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown interface type %s"), tmp); - return NULL; - } def = g_new0(virInterfaceDef, 1); @@ -680,7 +668,8 @@ virInterfaceDefParseXML(xmlXPathContextPtr ctxt, return NULL; break; } - + case VIR_INTERFACE_TYPE_LAST: + return NULL; } return g_steal_pointer(&def);