Move the domainPostParseDataAlloc/Free calls to
virDomainDeviceDefParse. As an consequence
virDomainDeviceDefPostParseOne is superfluous and can therefore be
removed.
Signed-off-by: Marc Hartmayer <mhartmay(a)linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy(a)linux.ibm.com>
---
src/conf/domain_conf.c | 37 +++++++++++--------------------------
1 file changed, 11 insertions(+), 26 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 3c307d325a89..e61f04ea2271 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -4900,31 +4900,6 @@ virDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
return 0;
}
-static int
-virDomainDeviceDefPostParseOne(virDomainDeviceDefPtr dev,
- const virDomainDef *def,
- virCapsPtr caps,
- unsigned int flags,
- virDomainXMLOptionPtr xmlopt)
-{
- void *parseOpaque = NULL;
- int ret;
-
- if (xmlopt->config.domainPostParseDataAlloc) {
- if (xmlopt->config.domainPostParseDataAlloc(def, caps, flags,
- xmlopt->config.priv,
- &parseOpaque) < 0)
- return -1;
- }
-
- ret = virDomainDeviceDefPostParse(dev, def, caps, flags, xmlopt, parseOpaque);
-
- if (parseOpaque && xmlopt->config.domainPostParseDataFree)
- xmlopt->config.domainPostParseDataFree(parseOpaque);
-
- return ret;
-}
-
struct virDomainDefPostParseDeviceIteratorData {
virCapsPtr caps;
@@ -16066,6 +16041,7 @@ virDomainDeviceDefParse(const char *xmlStr,
{
xmlDocPtr xml;
xmlNodePtr node;
+ void *parseOpaque = NULL;
xmlXPathContextPtr ctxt = NULL;
virDomainDeviceDefPtr dev = NULL;
char *netprefix;
@@ -16222,8 +16198,15 @@ virDomainDeviceDefParse(const char *xmlStr,
break;
}
+ if (xmlopt->config.domainPostParseDataAlloc) {
+ if (xmlopt->config.domainPostParseDataAlloc(def, caps, flags,
+ xmlopt->config.priv,
+ &parseOpaque) < 0)
+ goto error;
+ }
+
/* callback to fill driver specific device aspects */
- if (virDomainDeviceDefPostParseOne(dev, def, caps, flags, xmlopt) < 0)
+ if (virDomainDeviceDefPostParse(dev, def, caps, flags, xmlopt, parseOpaque) < 0)
goto error;
/* validate the configuration */
@@ -16231,6 +16214,8 @@ virDomainDeviceDefParse(const char *xmlStr,
goto error;
cleanup:
+ if (parseOpaque && xmlopt->config.domainPostParseDataFree)
+ xmlopt->config.domainPostParseDataFree(parseOpaque);
xmlFreeDoc(xml);
xmlXPathFreeContext(ctxt);
return dev;
--
2.17.0