summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2018-07-09 14:53:45 (GMT)
committerdgp <dgp@users.sourceforge.net>2018-07-09 14:53:45 (GMT)
commit9bd3b59e1deef204fd29cac25e705bfffd93177d (patch)
treec5ae520a28addd15bde6de72f59681836492a29d /generic/tclExecute.c
parentfd7ecfb8773ddaea6892a08930ff34f6516187b0 (diff)
parent64cbe6e187a319a8a9cef0d6201f22ba68a7ed60 (diff)
downloadtcl-9bd3b59e1deef204fd29cac25e705bfffd93177d.zip
tcl-9bd3b59e1deef204fd29cac25e705bfffd93177d.tar.gz
tcl-9bd3b59e1deef204fd29cac25e705bfffd93177d.tar.bz2
merge 8.7
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index fda50b2..82de752 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -4964,7 +4964,7 @@ TEBCresume(
/* Decode index value operands. */
- /*
+ /*
assert ( toIdx != TCL_INDEX_AFTER);
*
* Extra safety for legacy bytecodes:
@@ -5223,9 +5223,15 @@ TEBCresume(
* but creating the object as a string seems to be faster in
* practical use.
*/
-
- length = (ch != -1) ? Tcl_UniCharToUtf(ch, buf) : 0;
- objResultPtr = Tcl_NewStringObj(buf, length);
+ if (ch == -1) {
+ objResultPtr = Tcl_NewObj();
+ } else {
+ length = Tcl_UniCharToUtf(ch, buf);
+ if (!length) {
+ length = Tcl_UniCharToUtf(-1, buf);
+ }
+ objResultPtr = Tcl_NewStringObj(buf, length);
+ }
}
TRACE_APPEND(("\"%s\"\n", O2S(objResultPtr)));