>
> Say what? What OSes is that?
>
See attached test program. It tries to convert multibyte russian word in
UTF8 to wide char with C, ru_RU-KOI8-R and ru_RU.UTF-8 locales. The word
contains 6 letters.
FreeBSD 7.2 (short output):
========C==========
mbstowcs returns 12
========ru_RU.KOI8-R==========
mbstowcs returns 12
========ru_RU.UTF-8==========
mbstowcs returns 6
Linux 2.6.23 libc 2.5 (short output):
========C==========
mbstowcs returns -1
========ru_RU.KOI8-R==========
mbstowcs returns 12
========ru_RU.UTF-8==========
mbstowcs returns 6
The program also prints test of iswalpha:
Linux 2.6.23 libc 2.5 (full output):
========C==========
mbstowcs returns -1
ERROR
========ru_RU.KOI8-R==========
mbstowcs returns 12
0-th chacter is alpha
1-th chacter is NOT alpha
2-th chacter is alpha
3-th chacter is NOT alpha
4-th chacter is alpha
5-th chacter is NOT alpha
6-th chacter is alpha
7-th chacter is NOT alpha
8-th chacter is alpha
9-th chacter is NOT alpha
10-th chacter is alpha
11-th chacter is NOT alpha
========ru_RU.UTF-8==========
mbstowcs returns 6
0-th chacter is alpha
1-th chacter is alpha
2-th chacter is alpha
3-th chacter is alpha
4-th chacter is alpha
5-th chacter is alpha