]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-fts: Do all the ICU cleanup in fts_icu_deinit().
authorTimo Sirainen <tss@iki.fi>
Tue, 2 Jun 2015 18:49:46 +0000 (21:49 +0300)
committerTimo Sirainen <tss@iki.fi>
Tue, 2 Jun 2015 18:49:46 +0000 (21:49 +0300)
src/lib-fts/fts-filter.c
src/lib-fts/fts-icu.c
src/lib-fts/fts-icu.h

index ab49c91e35ad7123f2c7db18357dc0f0be858f9f..54638b4d36c94ddddb326b659e3b64e5e61bbf21 100644 (file)
@@ -3,10 +3,8 @@
 #include "lib.h"
 #include "array.h"
 #include "fts-language.h"
+#include "fts-icu.h"
 #include "fts-filter-private.h"
-#ifdef HAVE_LIBICU
-#  include <unicode/uclean.h>
-#endif
 
 static ARRAY(const struct fts_filter *) fts_filter_classes;
 
@@ -23,7 +21,7 @@ void fts_filters_init(void)
 void fts_filters_deinit(void)
 {
 #ifdef HAVE_LIBICU
-       u_cleanup();
+       fts_icu_deinit();
 #endif
        array_free(&fts_filter_classes);
 }
index e10f157ac63e6ba24abc69f373ccb2b97d1d409a..e79d9b18cde168a871983fd08a76248a66a74b73 100644 (file)
@@ -5,6 +5,8 @@
 #include "unichar.h"
 #include "fts-icu.h"
 
+#include <unicode/uclean.h>
+
 void fts_icu_utf8_to_utf16(buffer_t *dest_utf16, const char *src_utf8)
 {
        UErrorCode err = U_ZERO_ERROR;
@@ -108,3 +110,8 @@ int fts_icu_translate(buffer_t *dest_utf16, const UChar *src_utf16,
        buffer_set_used_size(dest_utf16, utf16_len * sizeof(UChar));
        return 0;
 }
+
+void fts_icu_deinit(void)
+{
+       u_cleanup();
+}
index 928b4b0b9c5bbd9d74679f675e742ed66801206c..bf867908e176628230d4c122463389305b5d5a93 100644 (file)
@@ -14,4 +14,7 @@ int fts_icu_translate(buffer_t *dest_utf16, const UChar *src_utf16,
                      unsigned int src_len, UTransliterator *transliterator,
                      const char **error_r);
 
+/* Free all the memory used by ICU functions. */
+void fts_icu_deinit(void);
+
 #endif