summaryrefslogtreecommitdiffstats
path: root/generic/tclParse.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2018-06-18 15:59:19 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2018-06-18 15:59:19 (GMT)
commit5c87050dd8b6765c40eeef94ab5773d955c3de17 (patch)
tree2f17fcdf4a7c6739c0fbe53952e68767c4657491 /generic/tclParse.c
parent5af99f55b25d479c15bfcb63d6959a9611cd6d09 (diff)
parent3c57d80efed172427e5aafa447365cb61439613c (diff)
downloadtcl-5c87050dd8b6765c40eeef94ab5773d955c3de17.zip
tcl-5c87050dd8b6765c40eeef94ab5773d955c3de17.tar.gz
tcl-5c87050dd8b6765c40eeef94ab5773d955c3de17.tar.bz2
Merge 8.6. And add more documentation and test-cases regarding the behavior of Tcl_UniCharToUtf()
Diffstat (limited to 'generic/tclParse.c')
-rw-r--r--generic/tclParse.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/generic/tclParse.c b/generic/tclParse.c
index 92482d6..581270c 100644
--- a/generic/tclParse.c
+++ b/generic/tclParse.c
@@ -979,13 +979,11 @@ TclParseBackslash(
if (readPtr != NULL) {
*readPtr = count;
}
- if ((result & 0xFC00) == 0xD800) {
- dst[2] = (char) ((result | 0x80) & 0xBF);
- dst[1] = (char) (((result >> 6) | 0x80) & 0xBF);
- dst[0] = (char) ((result >> 12) | 0xE0);
- return 3;
+ count = Tcl_UniCharToUtf(result, dst);
+ if (!count) {
+ count = Tcl_UniCharToUtf(-1, dst);
}
- return Tcl_UniCharToUtf(result, dst);
+ return count;
}
/*