diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-05 11:54:58 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-05-05 11:54:58 (GMT) |
commit | 9392c28ed888d5c3b805ad1ed7de88e7109f755d (patch) | |
tree | 25880acf47e483c4bb5c443f4deba49c5d71633b /generic | |
parent | 22274089f5c77191f8957595666313a98be9e002 (diff) | |
parent | a2f768dce66fc3f48b9a095fdc121fc9cc20b23a (diff) | |
download | tcl-9392c28ed888d5c3b805ad1ed7de88e7109f755d.zip tcl-9392c28ed888d5c3b805ad1ed7de88e7109f755d.tar.gz tcl-9392c28ed888d5c3b805ad1ed7de88e7109f755d.tar.bz2 |
Merge 8.7
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclUtf.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c index b924206..4198a7d 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -815,13 +815,13 @@ Tcl_NumUtfChars( i++; } } else { - const char *endPtr = src + length - 4; + const char *endPtr = src + length - TCL_UTF_MAX; while (src < endPtr) { src += TclUtfToUniChar(src, &ch); i++; } - endPtr += 4; + endPtr += TCL_UTF_MAX; while ((src < endPtr) && Tcl_UtfCharComplete(src, endPtr - src)) { src += TclUtfToUniChar(src, &ch); i++; @@ -1065,7 +1065,7 @@ Tcl_UtfPrev( /* Continue the search backwards... */ look--; - } while (trailBytesSeen < 4); + } while (trailBytesSeen < TCL_UTF_MAX); /* * We've seen TCL_UTF_MAX trail bytes, so we know there will not be a @@ -1073,7 +1073,11 @@ Tcl_UtfPrev( * accepting the fallback (for TCL_UTF_MAX > 3) or just go back as * far as we can. */ +#if TCL_UTF_MAX > 3 return fallback; +#else + return src - TCL_UTF_MAX; +#endif } /* |