XPath is good for random search of elements, not for accessing attributes of one node.
Signed-off-by: Pavel Hrdina <phrd...@redhat.com> --- src/conf/domain_conf.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6e424c96d8..23ef46dc79 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -16362,19 +16362,15 @@ virDomainVcpuPinDefParseXML(virDomainDefPtr def, */ static int virDomainIOThreadPinDefParseXML(xmlNodePtr node, - xmlXPathContextPtr ctxt, virDomainDefPtr def) { int ret = -1; virDomainIOThreadIDDefPtr iothrid; virBitmapPtr cpumask = NULL; - xmlNodePtr oldnode = ctxt->node; unsigned int iothreadid; char *tmp = NULL; - ctxt->node = node; - - if (!(tmp = virXPathString("string(./@iothread)", ctxt))) { + if (!(tmp = virXMLPropString(node, "iothread"))) { virReportError(VIR_ERR_XML_ERROR, "%s", _("missing iothread id in iothreadpin")); goto cleanup; @@ -16430,7 +16426,6 @@ virDomainIOThreadPinDefParseXML(xmlNodePtr node, cleanup: VIR_FREE(tmp); virBitmapFree(cpumask); - ctxt->node = oldnode; return ret; } @@ -17705,7 +17700,7 @@ virDomainDefParseXML(xmlDocPtr xml, } for (i = 0; i < n; i++) { - if (virDomainIOThreadPinDefParseXML(nodes[i], ctxt, def) < 0) + if (virDomainIOThreadPinDefParseXML(nodes[i], def) < 0) goto error; } VIR_FREE(nodes); -- 2.13.5 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list