summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2003-03-06 23:24:10 (GMT)
committerdgp <dgp@users.sourceforge.net>2003-03-06 23:24:10 (GMT)
commited9e2f1ebf814de045b0118ecfcaedddadfab6d1 (patch)
tree608b626c83433e5bef5a067658dfb01b47983f0c /generic
parent55bb78dc4fdf14318cfcbbeb264b7ef0a3e0a57e (diff)
downloadtcl-ed9e2f1ebf814de045b0118ecfcaedddadfab6d1.zip
tcl-ed9e2f1ebf814de045b0118ecfcaedddadfab6d1.tar.gz
tcl-ed9e2f1ebf814de045b0118ecfcaedddadfab6d1.tar.bz2
* generic/TclUtf.c (Tcl_UniCharNcasecmp): Corrected failure to
* tests/utf.test (utf-25.*): properly compare Unicode strings of different case in a case insensitive manner. [Bug 699042]
Diffstat (limited to 'generic')
-rw-r--r--generic/tclUtf.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c
index 6c6835c..cc8c3c7 100644
--- a/generic/tclUtf.c
+++ b/generic/tclUtf.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclUtf.c,v 1.30 2003/02/18 02:25:45 hobbs Exp $
+ * RCS: @(#) $Id: tclUtf.c,v 1.30.2.1 2003/03/06 23:24:17 dgp Exp $
*/
#include "tclInt.h"
@@ -1294,9 +1294,12 @@ Tcl_UniCharNcasecmp(cs, ct, n)
unsigned long n; /* Number of unichars to compare. */
{
for ( ; n != 0; n--, cs++, ct++) {
- if ((*cs != *ct) &&
- (Tcl_UniCharToLower(*cs) != Tcl_UniCharToLower(*ct))) {
- return (*cs - *ct);
+ if (*cs != *ct) {
+ Tcl_UniChar lcs = Tcl_UniCharToLower(*cs);
+ Tcl_UniChar lct = Tcl_UniCharToLower(*ct);
+ if (lcs != lct) {
+ return (lcs - lct);
+ }
}
}
return 0;