Bug#63717: isalpha()/toupper() functions do not work for non-ASCII characters
Package: libc6
Version: 2.1.3-10
Severity: normal
The is*() and toupper()/tolower() functions do not work on non-ASCII
characters, even if LC_CTYPE etc. are set to the correct language used:
-----------------------------------------------------------------------
srittau@moby:~$ locale
LANG=de_DE
LC_CTYPE="de_DE"
LC_NUMERIC="de_DE"
LC_TIME="de_DE"
LC_COLLATE="de_DE"
LC_MONETARY="de_DE"
LC_MESSAGES="de_DE"
LC_ALL=
srittau@moby:~$ cat try.c
#include <ctype.h>
#include <stdio.h>
int main()
{
int c = 'ä';
printf("%c: %d\n", c, isprint(c));
return 0;
}
srittau@moby:~$ gcc try.c -o try -Wall
srittau@moby:~$ ./try
ä: 0
srittau@moby:~$
-----------------------------------------------------------------------
ä is a valid printing character, especially in the german language
(LANG=de_DE).
-- System Information
Debian Release: 2.2
Architecture: i386
Kernel: Linux moby 2.3.99-pre3 #1 Son Apr 2 11:15:37 CEST 2000 i686
Versions of packages libc6 depends on:
ii ldso 1.9.11-8 The Linux dynamic linker, library
Reply to: