| 
            Last change
 on this file was             2036, checked in by bird, 20 years ago           | 
        
        
          | 
             
Initial revision 
 
           | 
        
        
          
            
              - 
Property                 cvs2svn:cvs-rev
 set to                 
1.1
               
              - 
Property                 svn:eol-style
 set to                 
native
               
              - 
Property                 svn:executable
 set to                 
*
               
              - 
Property                 svn:keywords
 set to                 
Author Date Id Revision
               
             
           | 
        
        
          | 
            File size:
            781 bytes
           | 
        
      
      
| Line |   | 
|---|
| 1 | /* Test case for setlocale vs uselocale (LC_GLOBAL_LOCALE) bug.  */
 | 
|---|
| 2 | 
 | 
|---|
| 3 | #define _GNU_SOURCE 1
 | 
|---|
| 4 | #include <locale.h>
 | 
|---|
| 5 | #include <stdio.h>
 | 
|---|
| 6 | #include <ctype.h>
 | 
|---|
| 7 | 
 | 
|---|
| 8 | static int
 | 
|---|
| 9 | do_test (void)
 | 
|---|
| 10 | {
 | 
|---|
| 11 |   __locale_t loc_new, loc_old;
 | 
|---|
| 12 | 
 | 
|---|
| 13 |   int first = !!isalpha(0xE4);
 | 
|---|
| 14 | 
 | 
|---|
| 15 |   setlocale (LC_ALL, "de_DE");
 | 
|---|
| 16 | 
 | 
|---|
| 17 |   int global_de = !!isalpha(0xE4);
 | 
|---|
| 18 | 
 | 
|---|
| 19 |   loc_new = newlocale (1 << LC_ALL, "C", 0);
 | 
|---|
| 20 |   loc_old = uselocale (loc_new);
 | 
|---|
| 21 | 
 | 
|---|
| 22 |   int used_c = !!isalpha(0xE4);
 | 
|---|
| 23 | 
 | 
|---|
| 24 |   uselocale (loc_old);
 | 
|---|
| 25 | 
 | 
|---|
| 26 |   int used_global = !!isalpha(0xE4);
 | 
|---|
| 27 | 
 | 
|---|
| 28 |   printf ("started %d, after setlocale %d\n", first, global_de);
 | 
|---|
| 29 |   printf ("after uselocale %d, after LC_GLOBAL_LOCALE %d\n",
 | 
|---|
| 30 |           used_c, used_global);
 | 
|---|
| 31 | 
 | 
|---|
| 32 |   freelocale (loc_new);
 | 
|---|
| 33 |   return !(used_c == first && used_global == global_de);
 | 
|---|
| 34 | }
 | 
|---|
| 35 | 
 | 
|---|
| 36 | 
 | 
|---|
| 37 | #define TEST_FUNCTION do_test ()
 | 
|---|
| 38 | #include "test-skeleton.c"
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.