Mercurial > dovecot > original-hg > dovecot-1.2
changeset 4902:92f7f19c8c58 HEAD
Handle broken UTF8
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 13 Dec 2006 15:49:46 +0200 |
parents | 5e604d6f391e |
children | 204d7edc7cdc |
files | src/plugins/fts-squat/squat-trie.c |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts-squat/squat-trie.c Wed Dec 13 15:46:23 2006 +0200 +++ b/src/plugins/fts-squat/squat-trie.c Wed Dec 13 15:49:46 2006 +0200 @@ -252,8 +252,12 @@ /* FIXME: can we do anything better than just truncate with >16bit values? */ uchr = uni_utf8_get_char_len(src+i, size-i); - uchr -= 32 - 26; - chr = uchr < (uint16_t)-1 ? uchr : 0; + if (uchr == (unichar_t)-1) + chr = 0; + else { + uchr -= 32 - 26; + chr = uchr < (uint16_t)-1 ? uchr : 0; + } i += uni_utf8_skip[src[i] & 0xff] - 1; } buffer_append(dest, &chr, sizeof(chr));