diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-04-28 21:15:01 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-04-28 21:15:01 (GMT) |
commit | 8a3520db79cc3d408bd757273a0f4bca71c16e68 (patch) | |
tree | 28cf763068348fdf3ee9b20372961970030bdeb7 /generic/tclParse.c | |
parent | 3d0c3b7c92b20cd3e774cf202ab4ca4ef18421c8 (diff) | |
parent | 1a2e2811e76111ef062a512932d10308c8d2ee67 (diff) | |
download | tcl-8a3520db79cc3d408bd757273a0f4bca71c16e68.zip tcl-8a3520db79cc3d408bd757273a0f4bca71c16e68.tar.gz tcl-8a3520db79cc3d408bd757273a0f4bca71c16e68.tar.bz2 |
Merge 8.5
Diffstat (limited to 'generic/tclParse.c')
-rw-r--r-- | generic/tclParse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclParse.c b/generic/tclParse.c index 8ea5d45..7beaeea 100644 --- a/generic/tclParse.c +++ b/generic/tclParse.c @@ -923,13 +923,13 @@ TclParseBackslash( */ result = 'u'; #if TCL_UTF_MAX > 3 - } else if (((result & 0xDC00) == 0xD800) && (count == 6) + } else if (((result & 0xFC00) == 0xD800) && (count == 6) && (p[5] == '\\') && (p[6] == 'u') && (numBytes >= 10)) { /* If high surrogate is immediately followed by a low surrogate * escape, combine them into one character. */ int low; int count2 = ParseHex(p+7, 4, &low); - if ((count2 == 4) && ((low & 0xDC00) == 0xDC00)) { + if ((count2 == 4) && ((low & 0xFC00) == 0xDC00)) { result = ((result & 0x3FF)<<10 | (low & 0x3FF)) + 0x10000; count += count2 + 2; } |