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));