#include #include #include #include static int do_test (void) { const char *loc = "de_DE.ISO-8859-1"; if (setlocale (LC_ALL, loc) == NULL) { printf ("cannot set %s locale\n", loc); return 1; } printf ("selected locale %s\n", loc); wint_t win = 0xe4; wint_t wex = 0xc4; wint_t wch = towupper (win); if (wch != wex) { printf ("towupper(%x) = %x, expected %x\n", win, wch, wex); return 1; } wch = toupper (win); if (wch != wex) { printf ("toupper(%x) = %x, expected %x\n", win, wch, wex); return 1; } win = 0x69; wex = 0x49; wch = towupper (win); if (wch != wex) { printf ("towupper(%x) = %x, expected %x\n", win, wch, wex); return 1; } wch = toupper (win); if (wch != wex) { printf ("toupper(%x) = %x, expected %x\n", win, wch, wex); return 1; } loc = "tr_TR.ISO-8859-9"; if (setlocale (LC_ALL, loc) == NULL) { printf ("cannot set %s locale\n", loc); return 1; } printf ("selected locale %s\n", loc); win = 0x69; wex = 0x130; wch = towupper (win); if (wch != wex) { printf ("towupper(%x) = %x, expected %x\n", win, wch, wex); return 1; } wch = toupper (win); wex = 0xdd; if (wch != wex) { printf ("toupper(%x) = %x, expected %x\n", win, wch, wex); return 1; } return 0; } #define TEST_FUNCTION do_test () #include "../test-skeleton.c"