diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-04-10 13:02:10 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-04-10 13:02:10 (GMT) |
commit | 50dd457a4cba1b28d263522e6e66af6beb001632 (patch) | |
tree | bf2353127a95a4f72ac4b772400673c30bdc03f2 /generic/tclUtf.c | |
parent | c7de8a1d22c60626b19b0bb57ac58fa7d9d5cc16 (diff) | |
parent | 61e8620f8627bfd26b93e6e7695aba9a1efd7ee0 (diff) | |
download | tcl-50dd457a4cba1b28d263522e6e66af6beb001632.zip tcl-50dd457a4cba1b28d263522e6e66af6beb001632.tar.gz tcl-50dd457a4cba1b28d263522e6e66af6beb001632.tar.bz2 |
Merge 8.6
Diffstat (limited to 'generic/tclUtf.c')
-rw-r--r-- | generic/tclUtf.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c index 72fefa4..8d1371a 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -472,10 +472,10 @@ Tcl_UtfToChar16( * bytes, then we must produce a follow-up low surrogate. We only * do that if the high surrogate matches the bits we encounter. */ - if ((byte >= 0x80) + if (((byte & 0xC0) == 0x80) + && ((src[1] & 0xC0) == 0x80) && ((src[2] & 0xC0) == 0x80) && (((((byte - 0x10) << 2) & 0xFC) | 0xD800) == (*chPtr & 0xFCFC)) - && ((src[1] & 0xF0) == (((*chPtr << 4) & 0x30) | 0x80)) - && ((src[2] & 0xC0) == 0x80)) { + && ((src[1] & 0xF0) == (((*chPtr << 4) & 0x30) | 0x80))) { *chPtr = ((src[1] & 0x0F) << 6) + (src[2] & 0x3F) + 0xDC00; return 3; } |