From c115f21cd75e3cc68fb3ccbf732ce4c96da3aec1 Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Thu, 30 Dec 2010 21:46:16 -0800 Subject: [PATCH] Fix libxml2 build on MinGW. --- src/modules/xml/consumer_xml.c | 7 +++++++ src/modules/xml/producer_xml.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/modules/xml/consumer_xml.c b/src/modules/xml/consumer_xml.c index 3b96cfef..3bcf818e 100644 --- a/src/modules/xml/consumer_xml.c +++ b/src/modules/xml/consumer_xml.c @@ -751,7 +751,14 @@ static int consumer_start( mlt_consumer this ) int length = 0; xmlDocDumpMemoryEnc( doc, &buffer, &length, "utf-8" ); mlt_properties_set( properties, resource, _s(buffer) ); +#ifdef WIN32 + xmlFreeFunc myXmlFree = NULL; + xmlMemGet( &myXmlFree, NULL, NULL, NULL); + if ( myXmlFree ) + myXmlFree( buffer ); +#else xmlFree( buffer ); +#endif } else { diff --git a/src/modules/xml/producer_xml.c b/src/modules/xml/producer_xml.c index 878c9767..285b9223 100644 --- a/src/modules/xml/producer_xml.c +++ b/src/modules/xml/producer_xml.c @@ -1095,7 +1095,14 @@ static void on_end_property( deserialise_context context, const xmlChar *name ) // Serialise the tree to get value xmlDocDumpMemory( context->value_doc, &value, &size ); mlt_properties_set( properties, context->property, _s(value) ); +#ifdef WIN32 + xmlFreeFunc myXmlFree = NULL; + xmlMemGet( &myXmlFree, NULL, NULL, NULL); + if ( myXmlFree ) + myXmlFree( value ); +#else xmlFree( value ); +#endif xmlFreeDoc( context->value_doc ); context->value_doc = NULL; } -- 2.39.2