From 4582bc2e786b88f01da01411cd4baeeccbc34f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Tue, 13 Aug 2013 15:10:17 +0200 Subject: [PATCH] Allow controller XML parsing to use XPath context virDomainParseScaledValue requires it. --- src/conf/domain_conf.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index ffb6a56da4..682b7e9677 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -5670,6 +5670,7 @@ virDomainControllerModelTypeFromString(const virDomainControllerDefPtr def, */ static virDomainControllerDefPtr virDomainControllerDefParseXML(xmlNodePtr node, + xmlXPathContextPtr ctxt, unsigned int flags) { virDomainControllerDefPtr def; @@ -5678,6 +5679,9 @@ virDomainControllerDefParseXML(xmlNodePtr node, char *idx = NULL; char *model = NULL; char *queues = NULL; + xmlNodePtr saved = ctxt->node; + + ctxt->node = node; if (VIR_ALLOC(def) < 0) return NULL; @@ -5819,6 +5823,7 @@ virDomainControllerDefParseXML(xmlNodePtr node, } cleanup: + ctxt->node = saved; VIR_FREE(type); VIR_FREE(idx); VIR_FREE(model); @@ -9491,7 +9496,8 @@ virDomainDeviceDefParse(const char *xmlStr, goto error; break; case VIR_DOMAIN_DEVICE_CONTROLLER: - if (!(dev->data.controller = virDomainControllerDefParseXML(node, flags))) + if (!(dev->data.controller = virDomainControllerDefParseXML(node, ctxt, + flags))) goto error; break; case VIR_DOMAIN_DEVICE_GRAPHICS: @@ -11699,6 +11705,7 @@ virDomainDefParseXML(xmlDocPtr xml, for (i = 0; i < n; i++) { virDomainControllerDefPtr controller = virDomainControllerDefParseXML(nodes[i], + ctxt, flags); if (!controller) goto error;