History log of /dovecot/src/lib-fts/fts-icu.h
Revision Date Author Comments Expand
dcb783533ad1d6944db7c227cde46414a575d81c 23-Dec-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib-fts: Change fts_icu_*() to use ARRAY_TYPE(icu_utf16) for UTF16 input. This makes it clearer how the API is intended to be used.

7c1ce38a29ecdc17480aacb5bac184f42ac05786 25-Nov-2015 Teemu Huovila <teemu.huovila@dovecot.fi>

lib-fts: Move ICU transliterator creation to fts-icu.h This allows others to use transliterators without so much code duplication. The transliterator still has to be destroyed by the user, with utrans_close().

37dfa8907f8216aa73e3880f3f98aba634458e42 02-Jun-2015 Timo Sirainen <tss@iki.fi>

lib-fts: Added fts_icu_lcase()

d3acad538059ba27f269d390516be7e9fb44294f 02-Jun-2015 Timo Sirainen <tss@iki.fi>

lib-fts: Do all the ICU cleanup in fts_icu_deinit().

bf698b98d3a3a1eced66cc682c449f23bf2b67d0 16-May-2015 Timo Sirainen <tss@iki.fi>

lib-fts: Rewrite ICU handling functions. Some of the changes: - Use buffers instead of allocating everything from data stack. - Optimistically attempt to write the data directly to the buffers without first calculating their size. Grow the buffer if it doesn't fit first. - Use u_strFromUTF8Lenient() instead of u_strFromUTF8(). Our input is already supposed to be valid UTF-8, although we don't check if all code points are valid, while u_strFromUTF8() does check them and return failures. We don't really care about if code points are valid or not and u_strFromUTF8Lenient() passes through everything. Added unit tests to make sure all the functions work as intended and all the UTF-8 input passes through them successfully.