string comparison on various platforms

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

string comparison on various platforms

Marc Santhoff
Hi,

from digging the sources I know, that on Unix-like Systems the
comparison of strings is done according to the current locale (Pascals
"strcomp" is mapped to C-libs "strcoll").

Can I assume that this is done similar on all other platforms, too?

I'm asking myself if I have to consider something special when sorting
strings or if a comparison using the RTL function will allways be
"correct" (not talking of special sort orders for rarely occuring
cases).

TIA,
Marc


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: string comparison on various platforms

Geno Roupsky


2006/5/3, Marc Santhoff <[hidden email]>:
Hi,

from digging the sources I know, that on Unix-like Systems the
comparison of strings is done according to the current locale (Pascals
"strcomp" is mapped to C-libs "strcoll").

Can I assume that this is done similar on all other platforms, too?

At least where is is possible, I mean where the OS supports locales

I'm asking myself if I have to consider something special when sorting
strings or if a comparison using the RTL function will allways be
"correct" (not talking of special sort orders for rarely occuring
cases).

Yes, if for any reason you stumble upon a bug it is most probably due to miss configuring the OS locale definitions.


--
Geno Roupsky
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: string comparison on various platforms

Marc Santhoff
Am Freitag, den 05.05.2006, 10:57 +0300 schrieb Geno Roupsky:

>
>
> 2006/5/3, Marc Santhoff <[hidden email]>:
>         Hi,
>        
>         from digging the sources I know, that on Unix-like Systems the
>         comparison of strings is done according to the current locale
>         (Pascals
>         "strcomp" is mapped to C-libs "strcoll").
>        
>         Can I assume that this is done similar on all other platforms,
>         too?
>
> At least where is is possible, I mean where the OS supports locales

So I can use it the way it is on Windows, FreeBSD, Linux and (I think)
MacOS. That's pretty much.

>         I'm asking myself if I have to consider something special when
>         sorting
>         strings or if a comparison using the RTL function will allways
>         be
>         "correct" (not talking of special sort orders for rarely
>         occuring
>         cases).
>
> Yes, if for any reason you stumble upon a bug it is most probably due
> to miss configuring the OS locale definitions.

No bug, I'm only planning.

Thank for helping,
Marc



_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal