Back to index

glibc  2.9
Defines | Functions
bug-usesetlocale.c File Reference
#include <locale.h>
#include <stdio.h>
#include <ctype.h>
#include "test-skeleton.c"

Go to the source code of this file.


#define _GNU_SOURCE   1
#define TEST_FUNCTION   do_test ()


static int do_test (void)

Define Documentation

#define _GNU_SOURCE   1

Definition at line 3 of file bug-usesetlocale.c.

#define TEST_FUNCTION   do_test ()

Definition at line 37 of file bug-usesetlocale.c.

Function Documentation

static int do_test ( void  ) [static]

Definition at line 9 of file bug-usesetlocale.c.

  __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);

Here is the call graph for this function: