summaryrefslogtreecommitdiffstats
path: root/generic/tclUtf.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-20 20:09:29 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-20 20:09:29 (GMT)
commit87fd8fa6b165adecf10d35ac7b05922221ae1858 (patch)
tree7c4f63c41795347c14b781d88cec86b1ff8d310b /generic/tclUtf.c
parent52c8d4007d2a4480394e37792b4be00adeab7848 (diff)
parenta4c0c19f5c629e0a940a030f52fcce0c6effee61 (diff)
downloadtcl-87fd8fa6b165adecf10d35ac7b05922221ae1858.zip
tcl-87fd8fa6b165adecf10d35ac7b05922221ae1858.tar.gz
tcl-87fd8fa6b165adecf10d35ac7b05922221ae1858.tar.bz2
Fix [6811a00819]: lsearch performance degradation on Tcl 8.6.11 release (thanks, Sergey!)
Diffstat (limited to 'generic/tclUtf.c')
-rw-r--r--generic/tclUtf.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c
index c685733..2fa0e80 100644
--- a/generic/tclUtf.c
+++ b/generic/tclUtf.c
@@ -443,7 +443,6 @@ static const unsigned short cp1252[32] = {
0x2DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x9D, 0x017E, 0x0178
};
-#undef Tcl_UtfToUniChar
Tcl_Size
Tcl_UtfToUniChar(
const char *src, /* The UTF-8 string. */
@@ -685,11 +684,11 @@ Tcl_UtfToUniCharDString(
endPtr = src + length;
optPtr = endPtr - 4;
while (p <= optPtr) {
- p += Tcl_UtfToUniChar(p, &ch);
+ p += TclUtfToUniChar(p, &ch);
*w++ = ch;
}
while ((p < endPtr) && Tcl_UtfCharComplete(p, endPtr-p)) {
- p += Tcl_UtfToUniChar(p, &ch);
+ p += TclUtfToUniChar(p, &ch);
*w++ = ch;
}
while (p < endPtr) {
@@ -937,7 +936,7 @@ Tcl_UtfFindFirst(
int ch) /* The Unicode character to search for. */
{
while (1) {
- int find, len = Tcl_UtfToUniChar(src, &find);
+ int find, len = TclUtfToUniChar(src, &find);
if (find == ch) {
return src;
@@ -976,7 +975,7 @@ Tcl_UtfFindLast(
const char *last = NULL;
while (1) {
- int find, len = Tcl_UtfToUniChar(src, &find);
+ int find, len = TclUtfToUniChar(src, &find);
if (find == ch) {
last = src;
@@ -1203,7 +1202,7 @@ Tcl_UniCharAtIndex(
/* Index points at character following high Surrogate */
return -1;
}
- Tcl_UtfToUniChar(src, &i);
+ TclUtfToUniChar(src, &i);
return i;
}
@@ -1344,7 +1343,7 @@ Tcl_UtfToUpper(
src = dst = str;
while (*src) {
- len = Tcl_UtfToUniChar(src, &ch);
+ len = TclUtfToUniChar(src, &ch);
upChar = Tcl_UniCharToUpper(ch);
/*
@@ -1397,7 +1396,7 @@ Tcl_UtfToLower(
src = dst = str;
while (*src) {
- len = Tcl_UtfToUniChar(src, &ch);
+ len = TclUtfToUniChar(src, &ch);
lowChar = Tcl_UniCharToLower(ch);
/*
@@ -1453,7 +1452,7 @@ Tcl_UtfToTitle(
src = dst = str;
if (*src) {
- len = Tcl_UtfToUniChar(src, &ch);
+ len = TclUtfToUniChar(src, &ch);
titleChar = Tcl_UniCharToTitle(ch);
if ((len < TclUtfCount(titleChar)) || ((titleChar & ~0x7FF) == 0xD800)) {
@@ -1465,7 +1464,7 @@ Tcl_UtfToTitle(
src += len;
}
while (*src) {
- len = Tcl_UtfToUniChar(src, &ch);
+ len = TclUtfToUniChar(src, &ch);
lowChar = ch;
/* Special exception for Georgian Asomtavruli chars, no titlecase. */
if ((unsigned)(lowChar - 0x1C90) >= 0x30) {