#include #include main () { printf("**********************No environs set***************************\n"); checkit(); printf("\n"); /* Set up LC_CTYPE to ISO-8859-1 and try again */ printf("******************LC_CTYPE environ set to ISO-8859-1*************\n"); setenv ("LC_CTYPE","ISO-8859-1"); checkit(); printf("\n"); /* Set up LC_CTYPE to ISO-8859-1 and try again */ printf("********************LANG environ set to ISO-8859-1***************\n"); unsetenv ("LC_CTYPE"); setenv ("LANG","ISO-8859-1"); checkit(); printf("\n"); /* Now Switch locales */ printf("********************Switching locales back to C******************\n"); unsetenv ("LANG"); setenv ("LC_CTYPE","C"); checkit(); printf("\n"); catclose(catopen("foo",1)); } checkit() { /* Set up according to environment vars */ printf("setlocale(LC_ALL,\"\") returned %s\n",setlocale(LC_ALL,"")); /* Set up al to C locale */ printf("setlocale(LC_ALL,\"C\") returned %s\n",setlocale(LC_ALL,"C")); /* Error no such locale */ printf("setlocale(LC_ALL,\"ISO\") returned %s\n",setlocale(LC_ALL,"ISO")); /* Set up LC_CTYPE according to environment var */ printf("setlocale(LC_CTYPE,\"\") returned %s\n",setlocale(LC_CTYPE,"")); /* Get current Locale */ printf("setlocale(LC_MESSAGES,(char *)0) returned %s\n",setlocale(LC_MESSAGES,(char *)NULL)); }