diff options
Diffstat (limited to 'generic/tclUtf.c')
-rw-r--r-- | generic/tclUtf.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/generic/tclUtf.c b/generic/tclUtf.c index 56dcaca..667bb6d 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.24 2002/05/29 09:09:57 hobbs Exp $ + * RCS: @(#) $Id: tclUtf.c,v 1.25 2002/05/29 10:35:46 dkf Exp $ */ #include "tclInt.h" @@ -1351,16 +1351,23 @@ Tcl_UniCharNcmp(cs, ct, n) CONST Tcl_UniChar *ct; /* Unicode string cs is compared to. */ unsigned long n; /* Number of unichars to compare. */ { +#ifdef TCL_OPTIMIZE_UNICODE_COMPARE /* - * We can't simply call 'memcmp(cs, ct, n*sizeof(Tcl_UniChar));' - * because that may not be lexically correct. + * We are definitely on a big-endian machine; memcmp() is safe */ - for ( ; n != 0; n--, cs++, ct++) { + return memcmp(cs, ct, n*sizeof(Tcl_UniChar)); + +#else /* !TCL_OPTIMIZE_UNICODE_COMPARE */ + /* + * We can't simply call memcmp() because that is not lexically correct. + */ + for ( ; n != 0; cs++, ct++, n--) { if (*cs != *ct) { return (*cs - *ct); } } return 0; +#endif /* TCL_OPTIMIZE_UNICODE_COMPARE */ } /* |