Ulrich Drepper said:
> The POSIX.2 standards mentions in the discussion of the handling of
> range expressions (for regular expressions and globbing purposes)
> "collation sequences". This is the only time this term appears and
> discussions with the originators of the standard confirmed that this
> text is chosen deliberately. Collation sequence is not the same as
> collation order.
[...]
I'm afraid I don't understand the issue here. Can someone email me a
synopsis so that I can get up to date ?
> For the collation order there is, of
> course, the strcoll() function. This function can be used by
> application developers to learn all about the sorting behavior which
> is necessary for interoperability.
I'm not sure that it can, actually. I'd like to know how you can (say)
reconstruct the collation order using only this function. Particularly with
systems such as the French "check the last accent if base letters match"
rule.
> To resolve this problem the following new interface is proposed:
>
> int strseq (const char *s1, const char *s2);
> or
> int posix_strseq (const char *s1, const char *s2);
>
> The first name is probably a too drastic intrusion into the
> application namespace.
str[a-z]* is reserved by C99, so it can be used safely.
> DESCRIPTION
>
> The strseq() function shall compare the string pointed to by s1 to
> the string pointed to by s2, both interpreted as appropriate to the
> collation sequence information in the LC_COLLATE category of the
> current locale.
I can't tell, from that description, how this differs from strcoll().
--
Clive D.W. Feather | Work: <yyyyy@xxxxxxxxx> | Tel: +44 20 8371 1138
Internet Expert | Home: <yyyyy@xxxxxxxxxx> | Fax: +44 20 8371 1037
Demon Internet | WWW: http://www.davros.org | DFax: +44 20 8371 4037
Thus plc | | Mobile: +44 7973 377646
|