#ifdef HAVE_LIBICU
#include "fts-icu.h"
+#include <unicode/uclean.h>
+
struct fts_filter_normalizer_icu {
struct fts_filter filter;
pool_t pool;
string_t *utf8_token;
};
+static bool icu_exit_callback_set = FALSE;
+
static void fts_filter_normalizer_icu_destroy(struct fts_filter *filter)
{
struct fts_filter_normalizer_icu *np =
}
}
+ if (!icu_exit_callback_set) {
+ icu_exit_callback_set = TRUE;
+ lib_atexit(u_cleanup);
+ }
+
pp = pool_alloconly_create(MEMPOOL_GROWING"fts_filter_normalizer_icu",
sizeof(struct fts_filter_normalizer_icu));
np = p_new(pp, struct fts_filter_normalizer_icu, 1);
#include "test-common.h"
#include "fts-icu.h"
+#include <unicode/uclean.h>
+
static void test_fts_icu_utf8_to_utf16_ascii_resize(void)
{
buffer_t *dest = buffer_create_dynamic(pool_datastack_create(), 5);
test_fts_icu_translate_resize,
NULL
};
- return test_run(test_functions);
+ int ret = test_run(test_functions);
+ u_cleanup();
+ return ret;
}