From 954b52cd8b9dae520ceca8fa6ed8a0991ab248c7 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Mon, 14 Aug 2017 14:31:52 +0200 Subject: [PATCH] conf: use virXMLPropString for IOThread parsing XPath is good for random search of elements, not for accessing attributes of one node. Signed-off-by: Pavel Hrdina --- src/conf/domain_conf.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index cb1b5b55fb..6e424c96d8 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -16209,19 +16209,15 @@ virDomainIdmapDefParseXML(xmlXPathContextPtr ctxt, * */ static virDomainIOThreadIDDefPtr -virDomainIOThreadIDDefParseXML(xmlNodePtr node, - xmlXPathContextPtr ctxt) +virDomainIOThreadIDDefParseXML(xmlNodePtr node) { virDomainIOThreadIDDefPtr iothrid; - xmlNodePtr oldnode = ctxt->node; char *tmp = NULL; if (VIR_ALLOC(iothrid) < 0) return NULL; - ctxt->node = node; - - if (!(tmp = virXPathString("string(./@id)", ctxt))) { + if (!(tmp = virXMLPropString(node, "id"))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("Missing 'id' attribute in element")); goto error; @@ -16235,7 +16231,6 @@ virDomainIOThreadIDDefParseXML(xmlNodePtr node, cleanup: VIR_FREE(tmp); - ctxt->node = oldnode; return iothrid; error: @@ -16275,7 +16270,7 @@ virDomainDefParseIOThreads(virDomainDefPtr def, for (i = 0; i < n; i++) { virDomainIOThreadIDDefPtr iothrid = NULL; - if (!(iothrid = virDomainIOThreadIDDefParseXML(nodes[i], ctxt))) + if (!(iothrid = virDomainIOThreadIDDefParseXML(nodes[i]))) goto error; if (virDomainIOThreadIDFind(def, iothrid->iothread_id)) { -- 2.47.2