Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
/* Test case for setlocale vs uselocale (LC_GLOBAL_LOCALE) bug. */
#define _GNU_SOURCE 1
#include <locale.h>
#include <stdio.h>
#include <ctype.h>
static int
do_test (void)
{
__locale_t loc_new, loc_old;
int first = !!isalpha(0xE4);
setlocale (LC_ALL, "de_DE");
int global_de = !!isalpha(0xE4);
loc_new = newlocale (1 << LC_ALL, "C", 0);
loc_old = uselocale (loc_new);
int used_c = !!isalpha(0xE4);
uselocale (loc_old);
int used_global = !!isalpha(0xE4);
printf ("started %d, after setlocale %d\n", first, global_de);
printf ("after uselocale %d, after LC_GLOBAL_LOCALE %d\n",
used_c, used_global);
freelocale (loc_new);
return !(used_c == first && used_global == global_de);
}
#define TEST_FUNCTION do_test ()
#include "test-skeleton.c"