summaryrefslogtreecommitdiffstats
path: root/generic/tclStringObj.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-02-27 21:58:41 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-02-27 21:58:41 (GMT)
commitb3e0d07c59b61fd7f3777b1949d323c39e442d3a (patch)
treea7848fa14d551f39fcd5fe5a0c13f96d03084ac0 /generic/tclStringObj.c
parentb8c0e58734798ec469c1e7bf11614dfe20ebf1c8 (diff)
parent050b6c3d5f632fea7bf549688c54be65fba7bee2 (diff)
downloadtcl-b3e0d07c59b61fd7f3777b1949d323c39e442d3a.zip
tcl-b3e0d07c59b61fd7f3777b1949d323c39e442d3a.tar.gz
tcl-b3e0d07c59b61fd7f3777b1949d323c39e442d3a.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclStringObj.c')
-rw-r--r--generic/tclStringObj.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index a4f442f..043497b 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -1951,9 +1951,9 @@ Tcl_AppendFormatToObj(
goto error;
}
length = Tcl_UniCharToUtf(code, buf);
- if (!length) {
+ if ((code >= 0xD800) && (length < 3)) {
/* Special case for handling high surrogates. */
- length = Tcl_UniCharToUtf(-1, buf);
+ length += Tcl_UniCharToUtf(-1, buf + length);
}
segment = Tcl_NewStringObj(buf, length);
Tcl_IncrRefCount(segment);