*/
static virDomainControllerDefPtr
virDomainControllerDefParseXML(xmlNodePtr node,
+ xmlXPathContextPtr ctxt,
unsigned int flags)
{
virDomainControllerDefPtr def;
char *idx = NULL;
char *model = NULL;
char *queues = NULL;
+ xmlNodePtr saved = ctxt->node;
+
+ ctxt->node = node;
if (VIR_ALLOC(def) < 0)
return NULL;
}
cleanup:
+ ctxt->node = saved;
VIR_FREE(type);
VIR_FREE(idx);
VIR_FREE(model);
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:
for (i = 0; i < n; i++) {
virDomainControllerDefPtr controller = virDomainControllerDefParseXML(nodes[i],
+ ctxt,
flags);
if (!controller)
goto error;