summaryrefslogtreecommitdiffstats
path: root/generic/tclCompExpr.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2020-04-25 14:06:39 (GMT)
committerdgp <dgp@users.sourceforge.net>2020-04-25 14:06:39 (GMT)
commite90c15381f0d9deab3c49a3c17e9cdc3d3e9d26c (patch)
tree82fc530e89c33359be1999f948740d51f26b0613 /generic/tclCompExpr.c
parent09ad9bf8c84c95afe8b857898b55033fbf6181e8 (diff)
parente41fff474338362ada285b42e9da856ba6502903 (diff)
downloadtcl-e90c15381f0d9deab3c49a3c17e9cdc3d3e9d26c.zip
tcl-e90c15381f0d9deab3c49a3c17e9cdc3d3e9d26c.tar.gz
tcl-e90c15381f0d9deab3c49a3c17e9cdc3d3e9d26c.tar.bz2
Merge another step. Four failing tests, but all understood now.
Diffstat (limited to 'generic/tclCompExpr.c')
-rw-r--r--generic/tclCompExpr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c
index ed4e958..4390282 100644
--- a/generic/tclCompExpr.c
+++ b/generic/tclCompExpr.c
@@ -1885,6 +1885,7 @@ ParseLexeme(
{
const char *end;
int scanned;
+ Tcl_UniChar ch;
Tcl_Obj *literal = NULL;
unsigned char byte;
@@ -2063,13 +2064,13 @@ ParseLexeme(
if (!TclIsBareword(*start) || *start == '_') {
if (Tcl_UtfCharComplete(start, numBytes)) {
- scanned = TclUtfNext(start) - start;
+ scanned = Tcl_UtfToUniChar(start, &ch);
} else {
char utfBytes[TCL_UTF_MAX];
memcpy(utfBytes, start, (size_t) numBytes);
utfBytes[numBytes] = '\0';
- scanned = TclUtfNext(utfBytes) - utfBytes;
+ scanned = Tcl_UtfToUniChar(utfBytes, &ch);
}
*lexemePtr = INVALID;
Tcl_DecrRefCount(literal);