From: Ján Tomko Date: Tue, 7 Jun 2016 16:57:29 +0000 (+0200) Subject: Introduce virXMLValidatorFree X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=8657c7a12f2acb79edb0393d0baeb11ea23bdbc7;p=libvirt.git Introduce virXMLValidatorFree Split out the code cleaning up the validator. --- diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index f197f55d35..53a7a9780d 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2565,6 +2565,7 @@ virXMLPickShellSafeComment; virXMLPropString; virXMLSaveFile; virXMLValidateAgainstSchema; +virXMLValidatorFree; virXPathBoolean; virXPathInt; virXPathLong; diff --git a/src/util/virxml.c b/src/util/virxml.c index 7842273972..49aed7d777 100644 --- a/src/util/virxml.c +++ b/src/util/virxml.c @@ -1161,11 +1161,21 @@ virXMLValidateAgainstSchema(const char *schemafile, ret = 0; cleanup: + virXMLValidatorFree(validator); + return ret; +} + + +void +virXMLValidatorFree(virXMLValidatorPtr validator) +{ + if (!validator) + return; + VIR_FREE(validator->schemafile); virBufferFreeAndReset(&validator->buf); xmlRelaxNGFreeParserCtxt(validator->rngParser); xmlRelaxNGFreeValidCtxt(validator->rngValid); xmlRelaxNGFree(validator->rng); VIR_FREE(validator); - return ret; } diff --git a/src/util/virxml.h b/src/util/virxml.h index 9803be5360..21ca578691 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -192,5 +192,7 @@ typedef virXMLValidator *virXMLValidatorPtr; int virXMLValidateAgainstSchema(const char *schemafile, xmlDocPtr xml); +void +virXMLValidatorFree(virXMLValidatorPtr validator); #endif /* __VIR_XML_H__ */