char *str = NULL;
xmlNodePtr hostCPUNode;
xmlNodePtr *nodes = NULL;
- xmlNodePtr oldnode = ctxt->node;
+ VIR_XPATH_NODE_AUTORESTORE(ctxt);
qemuMonitorCPUModelInfoPtr hostCPU = NULL;
int ret = -1;
size_t i;
ret = 0;
cleanup:
- ctxt->node = oldnode;
VIR_FREE(str);
VIR_FREE(nodes);
qemuMonitorCPUModelInfoFree(hostCPU);
xmlXPathContextPtr ctxt,
virDomainDiskDefPtr disk)
{
- xmlNodePtr savedNode = ctxt->node;
+ VIR_XPATH_NODE_AUTORESTORE(ctxt);
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
char *format = NULL;
char *type = NULL;
cleanup:
VIR_FREE(format);
VIR_FREE(type);
- ctxt->node = savedNode;
return ret;
}
qemuDomainObjPrivatePtr priv,
xmlXPathContextPtr ctxt)
{
- xmlNodePtr savedNode = ctxt->node;
+ VIR_XPATH_NODE_AUTORESTORE(ctxt);
char *tmp = NULL;
int ret = -1;
ret = 0;
cleanup:
- ctxt->node = savedNode;
VIR_FREE(tmp);
return ret;
}
int n;
xmlNodePtr *interfaces = NULL;
char *vporttype;
- xmlNodePtr save_ctxt = ctxt->node;
+ VIR_XPATH_NODE_AUTORESTORE(ctxt);
if (VIR_ALLOC(optr) < 0)
goto error;
VIR_FREE(interfaces);
cleanup:
- ctxt->node = save_ctxt;
return optr;
error:
size_t i;
int n;
xmlNodePtr *disks = NULL;
- xmlNodePtr save_ctxt = ctxt->node;
+ VIR_XPATH_NODE_AUTORESTORE(ctxt);
if (VIR_ALLOC(ret) < 0)
goto error;
VIR_FREE(port);
VIR_FREE(capacity);
VIR_FREE(disks);
- ctxt->node = save_ctxt;
return ret;
error:
qemuMigrationCookieNBDFree(ret);
{
qemuDomainJobInfoPtr jobInfo = NULL;
qemuMonitorMigrationStats *stats;
- xmlNodePtr save_ctxt = ctxt->node;
+ VIR_XPATH_NODE_AUTORESTORE(ctxt);
if (!(ctxt->node = virXPathNode("./statistics", ctxt)))
goto cleanup;
virXPathInt("string(./" VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE "[1])",
ctxt, &stats->cpu_throttle_percentage);
cleanup:
- ctxt->node = save_ctxt;
return jobInfo;
}