summaryrefslogtreecommitdiffstats
path: root/utf8.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2014-03-08 16:27:45 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2014-03-08 16:27:45 +0000
commit7019f77c05f45ea9267f7e768d0abb0b6a928a25 (patch)
treee2a01e03658abcca56346f11f349a8560dac31b3 /utf8.c
parent78e783e7863eb33981da4a5ad48dd9e2aa2b08dd (diff)
In four byte UTF-8 sequences, only three bits of the first byte should be
used. Fix from Koga Osamu.
Diffstat (limited to 'utf8.c')
-rw-r--r--utf8.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/utf8.c b/utf8.c
index 63723d7f..5babcb3b 100644
--- a/utf8.c
+++ b/utf8.c
@@ -313,7 +313,7 @@ utf8_combine(const struct utf8_data *utf8data)
value = utf8data->data[3] & 0x3f;
value |= (utf8data->data[2] & 0x3f) << 6;
value |= (utf8data->data[1] & 0x3f) << 12;
- value |= (utf8data->data[0] & 0x3f) << 18;
+ value |= (utf8data->data[0] & 0x07) << 18;
break;
}
return (value);