summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2020-05-25 09:02:15 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2020-05-25 09:02:15 (GMT)
commitd3eb8cf5e3d7b1535ba73e95dee737c08a36d3bb (patch)
tree213e7ff9c39f086709993aa1c98cd5e4b88302e6 /generic/tclExecute.c
parente54cad6de1c547761044db23d6b9358b00db2230 (diff)
downloadtcl-d3eb8cf5e3d7b1535ba73e95dee737c08a36d3bb.zip
tcl-d3eb8cf5e3d7b1535ba73e95dee737c08a36d3bb.tar.gz
tcl-d3eb8cf5e3d7b1535ba73e95dee737c08a36d3bb.tar.bz2
Fix compiled "string is <class>" for TCL_UTF_MAX=4 build, for characters > U+FFFF.
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index eeb69de..76feb79 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -5915,9 +5915,11 @@ TEBCresume(
ustring1 = Tcl_GetUnicodeFromObj(valuePtr, &length);
match = 1;
if (length > 0) {
+ int ch;
end = ustring1 + length;
- for (p=ustring1 ; p<end ; p++) {
- if (!tclStringClassTable[opnd].comparator(*p)) {
+ for (p=ustring1 ; p<end ; ) {
+ p += TclUniCharToUCS4(p, &ch);
+ if (!tclStringClassTable[opnd].comparator(ch)) {
match = 0;
break;
}