Commit db8219ed authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont
Browse files

Allow libxml 2.7. Leak memory.

parent 5aa35524
......@@ -4311,13 +4311,13 @@ dnl
AC_ARG_ENABLE(libxml2,
[ --enable-libxml2 libxml2 support (default enabled)])
AS_IF([test "${enable_libxml2}" != "no"], [
PKG_CHECK_MODULES([XML2], [libxml-2.0 >= 2.5 libxml-2.0 < 2.7], [
PKG_CHECK_MODULES([XML2], [libxml-2.0 >= 2.5], [
VLC_ADD_CPPFLAGS([xml],[${XML2_CFLAGS}])
VLC_ADD_LIBS([xml],[${XML2_LIBS}])
VLC_ADD_PLUGIN([xml])
], [
AS_IF([test "x${enable_xml2}" != "x"], [
AC_MSG_ERROR([Could not find libxml version 2.5 or 2.6])
AC_MSG_ERROR([Could not find libxml version 2.5 or higher])
])
])
])
......
......@@ -35,10 +35,6 @@
#include <libxml/xmlreader.h>
#include <libxml/catalog.h>
#if !defined (LIBXML_VERSION) || (LIBXML_VERSION > 20700)
# error Stale config.cache detected. Erase it and re-run configure.
#endif
/*****************************************************************************
* Module descriptor
*****************************************************************************/
......@@ -71,7 +67,6 @@ static void CatalogLoad( xml_t *, const char * );
static void CatalogAdd( xml_t *, const char *, const char *, const char * );
static int StreamRead( void *p_context, char *p_buffer, int i_buffer );
static unsigned refs = 0;
static vlc_mutex_t lock = VLC_STATIC_MUTEX;
/*****************************************************************************
......@@ -85,8 +80,7 @@ static int Open( vlc_object_t *p_this )
return VLC_EGENERIC;
vlc_mutex_lock( &lock );
if( refs++ == 0 )
xmlInitParser();
xmlInitParser();
vlc_mutex_unlock( &lock );
p_xml->pf_reader_create = ReaderCreate;
......@@ -103,11 +97,11 @@ static int Open( vlc_object_t *p_this )
*****************************************************************************/
static void Close( vlc_object_t *p_this )
{
#ifdef LIBXML_GETS_A_CLUE_ABOUT_REENTRANCY_AND_MEMORY_LEAKS
vlc_mutex_lock( &lock );
if( --refs == 0 )
xmlCleanupParser();
xmlCleanupParser();
vlc_mutex_unlock( &lock );
#endif
VLC_UNUSED(p_this);
return;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment