X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fapi%2Fstdlib.c;h=84ae68d98cd7c629a6df649ba6845499547b4d29;hb=629dbf8282882b7c512fd317d18b19044ca628ea;hp=ca5337c10eb850d3719aefb0bb00296d81524bf3;hpb=f81126942f3b97eec5bdf2fb57a45579946be59d;p=libc-test diff --git a/src/api/stdlib.c b/src/api/stdlib.c index ca5337c..84ae68d 100644 --- a/src/api/stdlib.c +++ b/src/api/stdlib.c @@ -2,12 +2,13 @@ #define T(t) (t*)0; #define F(t,n) {t *y = &x.n;} #define C(n) switch(n){case n:;} +#define I(t,e) {t x[sizeof(t)==sizeof(e)] = {e};} static void f() { C(EXIT_FAILURE) C(EXIT_SUCCESS) C(RAND_MAX) -C(MB_CUR_MAX) +I(size_t,MB_CUR_MAX) {void *x=NULL;} T(div_t) T(ldiv_t) @@ -24,72 +25,72 @@ C(WSTOPSIG(0)) C(WTERMSIG(0)) C(WUNTRACED) #endif -void(*p__Exit)(int) = _Exit; -void(*p_abort)(void) = abort; -int(*p_abs)(int) = abs; -int(*p_atexit)(void(*)(void)) = atexit; -double(*p_atof)(const char*) = atof; -int(*p_atoi)(const char*) = atoi; -long(*p_atol)(const char*) = atol; -long long(*p_atoll)(const char*) = atoll; -void*(*p_bsearch)(const void*,const void*,size_t,size_t,int(*)(const void*,const void*)) = bsearch; -void*(*p_calloc)(size_t,size_t) = calloc; -div_t(*p_div)(int,int) = div; -void(*p_exit)(int) = exit; -void(*p_free)(void*) = free; -char*(*p_getenv)(const char*) = getenv; -int(*p_getsubopt)(char**,char*const*,char**) = getsubopt; -long(*p_labs)(long) = labs; -ldiv_t(*p_ldiv)(long,long) = ldiv; -long long(*p_llabs)(long long) = llabs; -lldiv_t(*p_lldiv)(long long,long long) = lldiv; -void*(*p_malloc)(size_t) = malloc; -int(*p_mblen)(const char*,size_t) = mblen; -size_t(*p_mbstowcs)(wchar_t*restrict,const char*restrict,size_t) = mbstowcs; -int(*p_mbtowc)(wchar_t*restrict,const char*restrict,size_t) = mbtowc; -int(*p_posix_memalign)(void**,size_t,size_t) = posix_memalign; -void(*p_qsort)(void*,size_t,size_t,int(*)(const void*,const void*)) = qsort; -int(*p_rand)(void) = rand; -void*(*p_realloc)(void*,size_t) = realloc; -void(*p_srand)(unsigned) = srand; -double(*p_strtod)(const char*restrict,char**restrict) = strtod; -float(*p_strtof)(const char*restrict,char**restrict) = strtof; -long(*p_strtol)(const char*restrict,char**restrict,int) = strtol; -long double(*p_strtold)(const char*restrict,char**restrict) = strtold; -long long(*p_strtoll)(const char*restrict,char**restrict,int) = strtoll; -unsigned long(*p_strtoul)(const char*restrict,char**restrict,int) = strtoul; -unsigned long long(*p_strtoull)(const char*restrict,char**restrict,int) = strtoull; -int(*p_system)(const char*) = system; -size_t(*p_wcstombs)(char*restrict,const wchar_t*restrict,size_t) = wcstombs; -int(*p_wctomb)(char*,wchar_t) = wctomb; +{void(*p)(int) = _Exit;} +{void(*p)(void) = abort;} +{int(*p)(int) = abs;} +{int(*p)(void(*)(void)) = atexit;} +{double(*p)(const char*) = atof;} +{int(*p)(const char*) = atoi;} +{long(*p)(const char*) = atol;} +{long long(*p)(const char*) = atoll;} +{void*(*p)(const void*,const void*,size_t,size_t,int(*)(const void*,const void*)) = bsearch;} +{void*(*p)(size_t,size_t) = calloc;} +{div_t(*p)(int,int) = div;} +{void(*p)(int) = exit;} +{void(*p)(void*) = free;} +{char*(*p)(const char*) = getenv;} +{int(*p)(char**,char*const*,char**) = getsubopt;} +{long(*p)(long) = labs;} +{ldiv_t(*p)(long,long) = ldiv;} +{long long(*p)(long long) = llabs;} +{lldiv_t(*p)(long long,long long) = lldiv;} +{void*(*p)(size_t) = malloc;} +{int(*p)(const char*,size_t) = mblen;} +{size_t(*p)(wchar_t*restrict,const char*restrict,size_t) = mbstowcs;} +{int(*p)(wchar_t*restrict,const char*restrict,size_t) = mbtowc;} +{int(*p)(void**,size_t,size_t) = posix_memalign;} +{void(*p)(void*,size_t,size_t,int(*)(const void*,const void*)) = qsort;} +{int(*p)(void) = rand;} +{void*(*p)(void*,size_t) = realloc;} +{void(*p)(unsigned) = srand;} +{double(*p)(const char*restrict,char**restrict) = strtod;} +{float(*p)(const char*restrict,char**restrict) = strtof;} +{long(*p)(const char*restrict,char**restrict,int) = strtol;} +{long double(*p)(const char*restrict,char**restrict) = strtold;} +{long long(*p)(const char*restrict,char**restrict,int) = strtoll;} +{unsigned long(*p)(const char*restrict,char**restrict,int) = strtoul;} +{unsigned long long(*p)(const char*restrict,char**restrict,int) = strtoull;} +{int(*p)(const char*) = system;} +{size_t(*p)(char*restrict,const wchar_t*restrict,size_t) = wcstombs;} +{int(*p)(char*,wchar_t) = wctomb;} #ifdef _POSIX_C_SOURCE -char*(*p_mkdtemp)(char*) = mkdtemp; -int(*p_mkstemp)(char*) = mkstemp; -int(*p_setenv)(const char*,const char*,int) = setenv; -int(*p_unsetenv)(const char*) = unsetenv; +{char*(*p)(char*) = mkdtemp;} +{int(*p)(char*) = mkstemp;} +{int(*p)(const char*,const char*,int) = setenv;} +{int(*p)(const char*) = unsetenv;} #endif #ifdef _XOPEN_SOURCE -long(*p_a64l)(const char*) = a64l; -double(*p_drand48)(void) = drand48; -double(*p_erand48)(unsigned short[]) = erand48; -int(*p_grantpt)(int) = grantpt; -char*(*p_initstate)(unsigned,char*,size_t) = initstate; -long(*p_jrand48)(unsigned short[]) = jrand48; -char*(*p_l64a)(long) = l64a; -void(*p_lcong48)(unsigned short[]) = lcong48; -long(*p_lrand48)(void) = lrand48; -long(*p_mrand48)(void) = mrand48; -long(*p_nrand48)(unsigned short[]) = nrand48; -char*(*p_ptsname)(int) = ptsname; -int(*p_putenv)(char*) = putenv; -long(*p_random)(void) = random; -char*(*p_realpath)(const char*restrict,char*restrict) = realpath; -unsigned short*(*p_seed48)(unsigned short[]) = seed48; -void(*p_setkey)(const char*) = setkey; -char*(*p_setstate)(char*) = setstate; -void(*p_srand48)(long) = srand48; -void(*p_srandom)(unsigned) = srandom; -int(*p_unlockpt)(int) = unlockpt; +{long(*p)(const char*) = a64l;} +{double(*p)(void) = drand48;} +{double(*p)(unsigned short[]) = erand48;} +{int(*p)(int) = grantpt;} +{char*(*p)(unsigned,char*,size_t) = initstate;} +{long(*p)(unsigned short[]) = jrand48;} +{char*(*p)(long) = l64a;} +{void(*p)(unsigned short[]) = lcong48;} +{long(*p)(void) = lrand48;} +{long(*p)(void) = mrand48;} +{long(*p)(unsigned short[]) = nrand48;} +{char*(*p)(int) = ptsname;} +{int(*p)(char*) = putenv;} +{long(*p)(void) = random;} +{char*(*p)(const char*restrict,char*restrict) = realpath;} +{unsigned short*(*p)(unsigned short[]) = seed48;} +{void(*p)(const char*) = setkey;} +{char*(*p)(char*) = setstate;} +{void(*p)(long) = srand48;} +{void(*p)(unsigned) = srandom;} +{int(*p)(int) = unlockpt;} #endif } @@ -97,7 +98,7 @@ int(*p_unlockpt)(int) = unlockpt; #include static void g() { -int(*p_posix_openpt)(int) = posix_openpt; +{int(*p)(int) = posix_openpt;} } #endif