]> gitweb.hhaalo.de Git - feierabend.git/commitdiff
fix libxml greather than version 2.15
authorBastian Dehn <hhaalo@arcor.de>
Wed, 24 Dec 2025 08:44:28 +0000 (09:44 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Wed, 24 Dec 2025 08:44:28 +0000 (09:44 +0100)
src/CMakeLists.txt
src/xml.c

index 2061be823ba23ad1a40e10b9c58e061cd361a3fb..b800b34a60efb45d0e48136b2cdcb500a37f0ca6 100644 (file)
@@ -5,6 +5,11 @@ PROJECT(feierabend VERSION 1.3.8)
 FIND_PACKAGE(LibXml2 REQUIRED)
 MESSAGE(STATUS "find LibXml2: " ${LIBXML2_LIBRARY})
 
+IF(${LIBXML2_VERSION_STRING} VERSION_GREATER_EQUAL "2.15.0")
+       MESSAGE(STATUS "define LIBXML2_15")
+       add_compile_definitions(LIBXML2_15)
+ENDIF()
+
 INCLUDE(GNUInstallDirs)
 
 MESSAGE(STATUS "CMAKE_INSTALL_PREFIX " ${CMAKE_INSTALL_PREFIX})
index 4ecfd43eb72b2b0452dda1e45bdbdde13eba6c9d..fabcb84ff2562ae6d295e94ce3256952799d9d5b 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -114,8 +114,12 @@ void initTimeAcount()
        xmlFreeTextWriter(xmlWriter);
        xmlWriter = NULL;
 
+#ifdef LIBXML2_15
+       xmlCleanupParser();
+#else
        xmlDictCleanup();
        xmlCleanupCharEncodingHandlers();
+#endif
 
        free(xmlElemContent);
        xmlElemContent = NULL;
@@ -325,8 +329,12 @@ void createEntry(int begin_hour,
        xmlFreeTextWriter(xmlWriter);
        xmlWriter = NULL;
 
+#ifdef LIBXML2_15
+       xmlCleanupParser();
+#else
        xmlDictCleanup();
        xmlCleanupCharEncodingHandlers();
+#endif
 
        free(xmlElemContent);
        xmlElemContent = NULL;
@@ -462,8 +470,12 @@ void addEntry(const char* date,
        xmlFreeTextReader(xmlreader);
        xmlreader = NULL;
 
+#ifdef LIBXML2_15
+       xmlCleanupParser();
+#else
        xmlCleanupCharEncodingHandlers();
        xmlDictCleanup();
+#endif
 
        free_memFile(fileContent);
        free(fileContent);
@@ -545,8 +557,12 @@ void merge(const char* dir)
 
        xmlFreeTextWriter(xmlwriter);
        xmlwriter = NULL;
+#ifdef LIBXML2_15
+       xmlCleanupParser();
+#else
        xmlCleanupCharEncodingHandlers();
        xmlDictCleanup();
+#endif
 
        free(xmlElemContent);
        xmlElemContent = NULL;