|
nsz |
866185 |
#include <locale.h>
|
|
nsz |
866185 |
#define T(t) (t*)0;
|
|
nsz |
866185 |
#define F(t,n) {t *y = &x.;;}
|
|
nsz |
866185 |
#define C(n) switch(n){case n:;}
|
|
nsz |
866185 |
static void f()
|
|
nsz |
866185 |
{
|
|
nsz |
866185 |
T(locale_t)
|
|
nsz |
866185 |
{
|
|
nsz |
866185 |
struct lconv x;
|
|
nsz |
866185 |
F(char*,currency_symbol)
|
|
nsz |
866185 |
F(char*,decimal_point)
|
|
nsz |
866185 |
F(char,frac_digits)
|
|
nsz |
866185 |
F(char*,grouping)
|
|
nsz |
866185 |
F(char*,int_curr_symbol)
|
|
nsz |
866185 |
F(char,int_frac_digits)
|
|
nsz |
866185 |
F(char,int_n_cs_precedes)
|
|
nsz |
866185 |
F(char,int_n_sep_by_space)
|
|
nsz |
866185 |
F(char,int_n_sign_posn)
|
|
nsz |
866185 |
F(char,int_p_cs_precedes)
|
|
nsz |
866185 |
F(char,int_p_sep_by_space)
|
|
nsz |
866185 |
F(char,int_p_sign_posn)
|
|
nsz |
866185 |
F(char*,mon_decimal_point)
|
|
nsz |
866185 |
F(char*,mon_grouping)
|
|
nsz |
866185 |
F(char*,mon_thousands_sep)
|
|
nsz |
866185 |
F(char*,negative_sign)
|
|
nsz |
866185 |
F(char,n_cs_precedes)
|
|
nsz |
866185 |
F(char,n_sep_by_space)
|
|
nsz |
866185 |
F(char,n_sign_posn)
|
|
nsz |
866185 |
F(char*,positive_sign)
|
|
nsz |
866185 |
F(char,p_cs_precedes)
|
|
nsz |
866185 |
F(char,p_sep_by_space)
|
|
nsz |
866185 |
F(char,p_sign_posn)
|
|
nsz |
866185 |
F(char*,thousands_sep)
|
|
nsz |
866185 |
}
|
|
nsz |
866185 |
#ifndef NULL
|
|
nsz |
866185 |
#error no NULL
|
|
nsz |
866185 |
#endif
|
|
nsz |
866185 |
C(LC_ALL)
|
|
nsz |
866185 |
C(LC_COLLATE)
|
|
nsz |
866185 |
C(LC_CTYPE)
|
|
nsz |
866185 |
#ifdef _POSIX_C_SOURCE
|
|
nsz |
866185 |
C(LC_MESSAGES)
|
|
nsz |
866185 |
#endif
|
|
nsz |
866185 |
C(LC_MONETARY)
|
|
nsz |
866185 |
C(LC_NUMERIC)
|
|
nsz |
866185 |
C(LC_TIME)
|
|
nsz |
866185 |
#ifdef _POSIX_C_SOURCE
|
|
nsz |
866185 |
C(LC_ALL_MASK)
|
|
nsz |
866185 |
C(LC_COLLATE_MASK)
|
|
nsz |
866185 |
C(LC_CTYPE_MASK)
|
|
nsz |
866185 |
C(LC_MESSAGES_MASK)
|
|
nsz |
866185 |
C(LC_MONETARY_MASK)
|
|
nsz |
866185 |
C(LC_NUMERIC_MASK)
|
|
nsz |
866185 |
C(LC_TIME_MASK)
|
|
nsz |
866185 |
{locale_t x = LC_GLOBAL_LOCALE;}
|
|
nsz |
866185 |
locale_t(*p_duplocale)(locale_t) = duplocale;
|
|
nsz |
866185 |
void(*p_freelocale)(locale_t) = freelocale;
|
|
nsz |
866185 |
locale_t(*p_newlocale)(int,const char*,locale_t) = newlocale;
|
|
nsz |
866185 |
locale_t(*p_uselocale)(locale_t) = uselocale;
|
|
nsz |
866185 |
#endif
|
|
nsz |
866185 |
struct lconv*(*p_localeconv)(void) = localeconv;
|
|
nsz |
866185 |
char*(*p_setlocale)(int,const char*) = setlocale;
|
|
nsz |
866185 |
}
|