| #include <ctype.h> | 
 | #include <locale.h> | 
 | #include <stdio.h> | 
 | #include <wctype.h> | 
 |  | 
 |  | 
 | 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" |