]> git.sesse.net Git - vlc/commitdiff
Allow libxml 2.7. Leak memory.
authorRémi Denis-Courmont <remi@remlab.net>
Sun, 15 Mar 2009 17:04:54 +0000 (19:04 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sun, 15 Mar 2009 17:04:54 +0000 (19:04 +0200)
configure.ac
modules/misc/xml/libxml.c

index 1d8c12779798cb1868f2bea0714c745a5bfc19c2..eb0fbf63fefdcdf0fdb219b012b721092ee85c85 100644 (file)
@@ -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])
     ])
   ])
 ])
index 09c200e80e476d127dcd1b188c4a4e9d006193e5..266c5ee2bff0b9370a29319c91997e669667edf7 100644 (file)
 #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;
 }