1 #include <ctype.h>
2 #include <locale.h>
3 #include <stdio.h>
4 #include <wctype.h>
5 
6 
7 static int
do_test(void)8 do_test (void)
9 {
10   const char *loc = "de_DE.ISO-8859-1";
11   if (setlocale (LC_ALL, loc) == NULL)
12     {
13       printf ("cannot set %s locale\n", loc);
14       return 1;
15     }
16   printf ("selected locale %s\n", loc);
17 
18   wint_t win = 0xe4;
19   wint_t wex = 0xc4;
20   wint_t wch = towupper (win);
21   if (wch != wex)
22     {
23       printf ("towupper(%x) = %x, expected %x\n", win, wch, wex);
24       return 1;
25     }
26   wch = toupper (win);
27   if (wch != wex)
28     {
29       printf ("toupper(%x) = %x, expected %x\n", win, wch, wex);
30       return 1;
31     }
32 
33   win = 0x69;
34   wex = 0x49;
35   wch = towupper (win);
36   if (wch != wex)
37     {
38       printf ("towupper(%x) = %x, expected %x\n", win, wch, wex);
39       return 1;
40     }
41   wch = toupper (win);
42   if (wch != wex)
43     {
44       printf ("toupper(%x) = %x, expected %x\n", win, wch, wex);
45       return 1;
46     }
47 
48   loc = "tr_TR.ISO-8859-9";
49   if (setlocale (LC_ALL, loc) == NULL)
50     {
51       printf ("cannot set %s locale\n", loc);
52       return 1;
53     }
54   printf ("selected locale %s\n", loc);
55 
56   win = 0x69;
57   wex = 0x130;
58   wch = towupper (win);
59   if (wch != wex)
60     {
61       printf ("towupper(%x) = %x, expected %x\n", win, wch, wex);
62       return 1;
63     }
64   wch = toupper (win);
65   wex = 0xdd;
66   if (wch != wex)
67     {
68       printf ("toupper(%x) = %x, expected %x\n", win, wch, wex);
69       return 1;
70     }
71 
72   return 0;
73 }
74 
75 #define TEST_FUNCTION do_test ()
76 #include "../test-skeleton.c"
77