This is the mail archive of the
libc-alpha@sourceware.cygnus.com
mailing list for the glibc project.
Re: [Rafal Dabrowa <rafal@softsystem.com.pl>] libc/1163: glibc: wrong work of strcoll
- To: Rafal Dabrowa <rafal@softsystem.com.pl>
- Subject: Re: [Rafal Dabrowa <rafal@softsystem.com.pl>] libc/1163: glibc: wrong work of strcoll
- From: Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
- Date: 18 Jun 1999 10:16:57 +0200
- Cc: aj@arthur.rhein-neckar.de, libc-alpha@sourceware.cygnus.com
- References: <199906170722.JAA08600@waw.softsystem.com.pl.>
Rafal Dabrowa <rafal@softsystem.com.pl> writes:
|> Really !? See results of this program run on AIX operating system:
|> $ echo "LANG=$LANG, LC_ALL=$LC_ALL"
|> LANG=en_US, LC_ALL=en_US
|> $ strcoll-test B b
|> strcoll( B, b ) = -1
|> $ strcoll-test a B
|> strcoll( a, B ) = 1
|> similar, but there is a big difference: "B" is LESS than "b" an "a" is
|> GREATHER than "B" (on Linux with glibc 2.1.1 is inversely). And I
|> guess, that on AIX is O.K. May be not ?
So the locales on AIX are defined differently. Cope with it. They are
completely implementation defined, except for a few fundamental
properties.
From /usr/share/i18n/locales/de_DE on Linux:
<a> <A>;<NONE>;<SMALL>;IGNORE
<A> <A>;<NONE>;<CAPITAL>;IGNORE
[...]
<b> <B>;<NONE>;<SMALL>;IGNORE
<B> <B>;<NONE>;<CAPITAL>;IGNORE
--
Andreas Schwab "And now for something
schwab@issan.cs.uni-dortmund.de completely different"
schwab@gnu.org