Use VIR_AUTOPTR for temporary locals and get rid of the cleanup label.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/conf/domain_conf.c | 20 +++++++-------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 5fec2e5220..35573c0aaf 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -21558,32 +21558,26 @@ virDomainDefParseNode(xmlDocPtr xml,
void *parseOpaque,
unsigned int flags)
{
- xmlXPathContextPtr ctxt = NULL;
- virDomainDefPtr def = NULL;
- virDomainDefPtr ret = NULL;
+ VIR_AUTOPTR(xmlXPathContext) ctxt = NULL;
+ VIR_AUTOPTR(virDomainDef) def = NULL;
if (!(ctxt = virXMLXPathContextNew(xml)))
- goto cleanup;
+ return NULL;
ctxt->node = root;
if (!(def = virDomainDefParseXML(xml, ctxt, caps, xmlopt, flags)))
- goto cleanup;
+ return NULL;
/* callback to fill driver specific domain aspects */
if (virDomainDefPostParse(def, caps, flags, xmlopt, parseOpaque) < 0)
- goto cleanup;
+ return NULL;
/* validate configuration */
if (virDomainDefValidate(def, caps, flags, xmlopt) < 0)
- goto cleanup;
-
- VIR_STEAL_PTR(ret, def);
+ return NULL;
- cleanup:
- virDomainDefFree(def);
- xmlXPathFreeContext(ctxt);
- return ret;
+ VIR_RETURN_PTR(def);
}
--
2.21.0