summaryrefslogtreecommitdiffstats
path: root/generic/tclStringObj.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2018-06-24 20:27:19 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2018-06-24 20:27:19 (GMT)
commit6264f4978838b089748579e436d35b30a4e56201 (patch)
treec4a09f09a5dd9f7c2ac319f5f1ec231f7cc66353 /generic/tclStringObj.c
parent9d19f3532ce6a01e00e85a877145088683cde4f4 (diff)
parent94f9cf81ed3e156bd372a3cac249974d1acb4e1d (diff)
downloadtcl-6264f4978838b089748579e436d35b30a4e56201.zip
tcl-6264f4978838b089748579e436d35b30a4e56201.tar.gz
tcl-6264f4978838b089748579e436d35b30a4e56201.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclStringObj.c')
-rw-r--r--generic/tclStringObj.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index 8ccd189..fb33821 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -2014,6 +2014,10 @@ Tcl_AppendFormatToObj(
goto error;
}
length = Tcl_UniCharToUtf(code, buf);
+ if (!length) {
+ /* Special case for handling upper surrogates. */
+ length = Tcl_UniCharToUtf(-1, buf);
+ }
segment = Tcl_NewStringObj(buf, length);
Tcl_IncrRefCount(segment);
allocSegment = 1;