summaryrefslogtreecommitdiffstats
path: root/generic/tclParse.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclParse.c')
-rw-r--r--generic/tclParse.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/generic/tclParse.c b/generic/tclParse.c
index fc7f77b..f26f933 100644
--- a/generic/tclParse.c
+++ b/generic/tclParse.c
@@ -991,15 +991,13 @@ TclParseBackslash(
if (readPtr != NULL) {
*readPtr = count;
}
-#if TCL_UTF_MAX >= 4
- 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 TCL_UTF_MAX > 3
+ if (!count) {
+ count = Tcl_UniCharToUtf(-1, dst);
}
#endif
- return Tcl_UniCharToUtf(result, dst);
+ return count;
}
/*