diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-06-08 12:38:56 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-06-08 12:38:56 (GMT) |
commit | 74d42f2fe9fc80e12aa490ffea731ac8114183b5 (patch) | |
tree | a27339ac3118a7718eb23d23b75ffbd9380bbe9a /generic/tclUtil.c | |
parent | 061893f84e1d06c45531c7a4d7a7384e144dc69b (diff) | |
parent | 4276e234955e8ecdc91fd5d2ebee1acbb35753ad (diff) | |
download | tcl-74d42f2fe9fc80e12aa490ffea731ac8114183b5.zip tcl-74d42f2fe9fc80e12aa490ffea731ac8114183b5.tar.gz tcl-74d42f2fe9fc80e12aa490ffea731ac8114183b5.tar.bz2 |
merge core-8-6-branch
Diffstat (limited to 'generic/tclUtil.c')
-rw-r--r-- | generic/tclUtil.c | 47 |
1 files changed, 12 insertions, 35 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c index 91cc3b4..b30a1d0 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -2162,14 +2162,9 @@ Tcl_StringCaseMatch( * This is a special case optimization for single-byte utf. */ - if (UCHAR(*pattern) < 0x80) { - ch2 = (Tcl_UniChar) - (nocase ? tolower(UCHAR(*pattern)) : UCHAR(*pattern)); - } else { - Tcl_UtfToUniChar(pattern, &ch2); - if (nocase) { - ch2 = Tcl_UniCharToLower(ch2); - } + TclUtfToUniChar(pattern, &ch2); + if (nocase) { + ch2 = Tcl_UniCharToLower(ch2); } while (1) { @@ -2235,44 +2230,26 @@ Tcl_StringCaseMatch( Tcl_UniChar startChar, endChar; pattern++; - if (UCHAR(*str) < 0x80) { - ch1 = (Tcl_UniChar) - (nocase ? tolower(UCHAR(*str)) : UCHAR(*str)); - str++; - } else { - str += Tcl_UtfToUniChar(str, &ch1); - if (nocase) { - ch1 = Tcl_UniCharToLower(ch1); - } + str += TclUtfToUniChar(str, &ch1); + if (nocase) { + ch1 = Tcl_UniCharToLower(ch1); } while (1) { if ((*pattern == ']') || (*pattern == '\0')) { return 0; } - if (UCHAR(*pattern) < 0x80) { - startChar = (Tcl_UniChar) (nocase - ? tolower(UCHAR(*pattern)) : UCHAR(*pattern)); - pattern++; - } else { - pattern += Tcl_UtfToUniChar(pattern, &startChar); - if (nocase) { - startChar = Tcl_UniCharToLower(startChar); - } + pattern += TclUtfToUniChar(pattern, &startChar); + if (nocase) { + startChar = Tcl_UniCharToLower(startChar); } if (*pattern == '-') { pattern++; if (*pattern == '\0') { return 0; } - if (UCHAR(*pattern) < 0x80) { - endChar = (Tcl_UniChar) (nocase - ? tolower(UCHAR(*pattern)) : UCHAR(*pattern)); - pattern++; - } else { - pattern += Tcl_UtfToUniChar(pattern, &endChar); - if (nocase) { - endChar = Tcl_UniCharToLower(endChar); - } + pattern += TclUtfToUniChar(pattern, &endChar); + if (nocase) { + endChar = Tcl_UniCharToLower(endChar); } if (((startChar <= ch1) && (ch1 <= endChar)) || ((endChar <= ch1) && (ch1 <= startChar))) { |