From: Wilfried Goesgens Date: Fri, 19 Aug 2011 17:12:32 +0000 (+0000) Subject: Fix detecting of UTF8 Sequences X-Git-Tag: v7.87~1^2~1 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=99a9608c07d628bc1db89cddf98d5f4a2ff7bbb2 Fix detecting of UTF8 Sequences - we need to exactly check for both highest bits to be set, not one of them. --- diff --git a/libcitadel/lib/stringbuf.c b/libcitadel/lib/stringbuf.c index 8718ec065..df35593ea 100644 --- a/libcitadel/lib/stringbuf.c +++ b/libcitadel/lib/stringbuf.c @@ -3179,7 +3179,7 @@ static inline int Ctdl_GetUtf8SequenceLength(const char *CharS, const char *Char int n = 0; unsigned char test = (1<<7); - if ((*CharS & 0xC0) == 0) + if ((*CharS & 0xC0) != 0xC0) return 1; while ((n < 8) && @@ -3202,7 +3202,7 @@ static inline int Ctdl_GetUtf8SequenceLength(const char *CharS, const char *Char static inline int Ctdl_IsUtf8SequenceStart(const char Char) { /** 11??.???? indicates an UTF8 Sequence. */ - return ((Char & 0xC0) != 0); + return ((Char & 0xC0) == 0xC0); } /**