diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ae1b98a9a3f635443b9938099ec1054b8482b4c6..bda0514b02a11b4ef5d8454db77cbb2d941f28b9 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -16185,7 +16185,7 @@ virDomainObjParseXML(xmlDocPtr xml,
VIR_FREE(nodes);
if (xmlopt->privateData.parse &&
- ((xmlopt->privateData.parse)(ctxt, obj->privateData)) < 0)
+ xmlopt->privateData.parse(ctxt, obj) < 0)
goto error;
return obj;
@@ -22074,7 +22074,7 @@ virDomainObjFormat(virDomainXMLOptionPtr xmlopt,
}
if (xmlopt->privateData.format &&
- ((xmlopt->privateData.format)(&buf, obj->privateData)) < 0)
+ xmlopt->privateData.format(&buf, obj) < 0)
goto error;
if (virDomainDefFormatInternal(obj->def, flags, &buf) < 0)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 2e12b71cdf20bcccaab15281630549ab2332def3..3fd82fa66f9bd8bd61970c175dd75991f084128e 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2357,8 +2357,10 @@ typedef virDomainXMLOption *virDomainXMLOptionPtr;
typedef void *(*virDomainXMLPrivateDataAllocFunc)(void);
typedef void (*virDomainXMLPrivateDataFreeFunc)(void *);
typedef virObjectPtr (*virDomainXMLPrivateDataNewFunc)(void);
-typedef int (*virDomainXMLPrivateDataFormatFunc)(virBufferPtr, void *);
-typedef int (*virDomainXMLPrivateDataParseFunc)(xmlXPathContextPtr, void *);
+typedef int (*virDomainXMLPrivateDataFormatFunc)(virBufferPtr,
+ virDomainObjPtr);
+typedef int (*virDomainXMLPrivateDataParseFunc)(xmlXPathContextPtr,
+ virDomainObjPtr);
/* Called once after everything else has been parsed, for adjusting
* overall domain defaults. */
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 06522708c7655d096ca07e71e79f2f163d9610c0..ebd79641986642c47082c8948763b886d3ee672a 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -223,9 +223,10 @@ libxlDomainObjPrivateFree(void *data)
}
static int
-libxlDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, void *data)
+libxlDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
+ virDomainObjPtr vm)
{
- libxlDomainObjPrivatePtr priv = data;
+ libxlDomainObjPrivatePtr priv = vm->privateData;
priv->lockState = virXPathString("string(./lockstate)", ctxt);
@@ -233,9 +234,10 @@ libxlDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, void *data)
}
static int
-libxlDomainObjPrivateXMLFormat(virBufferPtr buf, void *data)
+libxlDomainObjPrivateXMLFormat(virBufferPtr buf,
+ virDomainObjPtr vm)
{
- libxlDomainObjPrivatePtr priv = data;
+ libxlDomainObjPrivatePtr priv = vm->privateData;
if (priv->lockState)
virBufferAsprintf(buf, "%s\n", priv->lockState);
diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c
index c2180cbcbfa20fec4323800af427e595b07003e9..70606f37658318678ddeced322ec9e66c6a06a74 100644
--- a/src/lxc/lxc_domain.c
+++ b/src/lxc/lxc_domain.c
@@ -51,9 +51,11 @@ static void virLXCDomainObjPrivateFree(void *data)
}
-static int virLXCDomainObjPrivateXMLFormat(virBufferPtr buf, void *data)
+static int
+virLXCDomainObjPrivateXMLFormat(virBufferPtr buf,
+ virDomainObjPtr vm)
{
- virLXCDomainObjPrivatePtr priv = data;
+ virLXCDomainObjPrivatePtr priv = vm->privateData;
virBufferAsprintf(buf, "\n",
(unsigned long long)priv->initpid);
@@ -61,9 +63,11 @@ static int virLXCDomainObjPrivateXMLFormat(virBufferPtr buf, void *data)
return 0;
}
-static int virLXCDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, void *data)
+static int
+virLXCDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
+ virDomainObjPtr vm)
{
- virLXCDomainObjPrivatePtr priv = data;
+ virLXCDomainObjPrivatePtr priv = vm->privateData;
unsigned long long thepid;
if (virXPathULongLong("string(./init[1]/@pid)", ctxt, &thepid) < 0) {
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 586429a4162b75da2d16edac44268dec54dd253b..9bb3cee9350f3f3e84a4cd7fead618dd9d450c5c 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -511,9 +511,10 @@ qemuDomainObjPrivateFree(void *data)
static int
-qemuDomainObjPrivateXMLFormat(virBufferPtr buf, void *data)
+qemuDomainObjPrivateXMLFormat(virBufferPtr buf,
+ virDomainObjPtr vm)
{
- qemuDomainObjPrivatePtr priv = data;
+ qemuDomainObjPrivatePtr priv = vm->privateData;
const char *monitorpath;
qemuDomainJob job;
@@ -600,9 +601,10 @@ qemuDomainObjPrivateXMLFormat(virBufferPtr buf, void *data)
}
static int
-qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt, void *data)
+qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
+ virDomainObjPtr vm)
{
- qemuDomainObjPrivatePtr priv = data;
+ qemuDomainObjPrivatePtr priv = vm->privateData;
char *monitorpath;
char *tmp;
int n;