| /* Test case by Jim Meyering <jim@meyering.net>.  */ | 
 | #include <locale.h> | 
 | #include <stdio.h> | 
 | #include <string.h> | 
 | #include <regex.h> | 
 | #include <wchar.h> | 
 |  | 
 | int | 
 | main (void) | 
 | { | 
 |   struct re_pattern_buffer regex; | 
 |   struct re_registers regs; | 
 |   const char *s; | 
 |   int match; | 
 |   int result = 0; | 
 |  | 
 |   memset (®ex, '\0', sizeof (regex)); | 
 |  | 
 |   setlocale (LC_ALL, "de_DE.ISO-8859-1"); | 
 |   fwide (stdout, -1); | 
 |  | 
 |   re_set_syntax (RE_SYNTAX_POSIX_EGREP | RE_DEBUG); | 
 |  | 
 |   puts ("in C locale"); | 
 |   setlocale (LC_ALL, "C"); | 
 |   s = re_compile_pattern ("[anù]*n", 7, ®ex); | 
 |   if (s != NULL) | 
 |     { | 
 |       puts ("re_compile_pattern return non-NULL value"); | 
 |       result = 1; | 
 |     } | 
 |   else | 
 |     { | 
 |       match = re_match (®ex, "an", 2, 0, ®s); | 
 |       if (match != 2) | 
 | 	{ | 
 | 	  printf ("re_match returned %d, expected 2\n", match); | 
 | 	  result = 1; | 
 | 	} | 
 |       else | 
 | 	puts (" -> OK"); | 
 |     } | 
 |  | 
 |   puts ("in de_DE.ISO-8859-1 locale"); | 
 |   setlocale (LC_ALL, "de_DE.ISO-8859-1"); | 
 |   s = re_compile_pattern ("[anù]*n", 7, ®ex); | 
 |   if (s != NULL) | 
 |     { | 
 |       puts ("re_compile_pattern return non-NULL value"); | 
 |       result = 1; | 
 |     } | 
 |   else | 
 |     { | 
 |       match = re_match (®ex, "an", 2, 0, ®s); | 
 |       if (match != 2) | 
 | 	{ | 
 | 	  printf ("re_match returned %d, expected 2\n", match); | 
 | 	  result = 1; | 
 | 	} | 
 |       else | 
 | 	puts (" -> OK"); | 
 |     } | 
 |  | 
 |   return result; | 
 | } |