fix malloc-brk-fail
[libc-test] / src / api / stdio.c
index b854540..03bd98b 100644 (file)
@@ -14,6 +14,9 @@ T(ssize_t)
 T(va_list)
 C(L_ctermid)
 #endif
+#ifdef OBSOLETE
+C(L_tmpnam)
+#endif
 C(_IOFBF)
 C(_IOLBF)
 C(_IONBF)
@@ -27,103 +30,103 @@ C(EOF)
 {FILE *x=stderr;}
 {FILE *x=stdin;}
 {FILE *x=stdout;}
-void(*p_clearerr)(FILE*) = clearerr;
-char*(*p_ctermid)(char*) = ctermid;
-int(*p_dprintf)(int,const char*restrict,...) = dprintf;
-int(*p_fclose)(FILE*) = fclose;
-FILE*(*p_fdopen)(int,const char*) = fdopen;
-int(*p_feof)(FILE*) = feof;
-int(*p_ferror)(FILE*) = ferror;
-int(*p_fflush)(FILE*) = fflush;
-int(*p_fgetc)(FILE*) = fgetc;
-int(*p_fgetpos)(FILE*restrict,fpos_t*restrict) = fgetpos;
-char*(*p_fgets)(char*restrict,int,FILE*restrict) = fgets;
-int(*p_fileno)(FILE*) = fileno;
-void(*p_flockfile)(FILE*) = flockfile;
-FILE*(*p_fmemopen)(void*restrict,size_t,const char*restrict) = fmemopen;
-FILE*(*p_fopen)(const char*restrict,const char*restrict) = fopen;
-int(*p_fprintf)(FILE*restrict,const char*restrict,...) = fprintf;
-int(*p_fputc)(int,FILE*) = fputc;
-int(*p_fputs)(const char*restrict,FILE*restrict) = fputs;
-size_t(*p_fread)(void*restrict,size_t,size_t,FILE*restrict) = fread;
-FILE*(*p_freopen)(const char*restrict,const char*restrict,FILE*restrict) = freopen;
-int(*p_fscanf)(FILE*restrict,const char*restrict,...) = fscanf;
-int(*p_fseek)(FILE*,long,int) = fseek;
-int(*p_fseeko)(FILE*,off_t,int) = fseeko;
-int(*p_fsetpos)(FILE*,const fpos_t*) = fsetpos;
-long(*p_ftell)(FILE*) = ftell;
-off_t(*p_ftello)(FILE*) = ftello;
-int(*p_ftrylockfile)(FILE*) = ftrylockfile;
-void(*p_funlockfile)(FILE*) = funlockfile;
-size_t(*p_fwrite)(const void*restrict,size_t,size_t,FILE*restrict) = fwrite;
-int(*p_getc)(FILE*) = getc;
-int(*p_getc_unlocked)(FILE*) = getc_unlocked;
-int(*p_getchar)(void) = getchar;
-int(*p_getchar_unlocked)(void) = getchar_unlocked;
-ssize_t(*p_getdelim)(char**restrict,size_t*restrict,int,FILE*restrict) = getdelim;
-ssize_t(*p_getline)(char**restrict,size_t*restrict,FILE*restrict) = getline;
-char*(*p_gets)(char*) = gets;
-FILE*(*p_open_memstream)(char**,size_t*) = open_memstream;
-int(*p_pclose)(FILE*) = pclose;
-void(*p_perror)(const char*) = perror;
-FILE*(*p_popen)(const char*,const char*) = popen;
-int(*p_printf)(const char*restrict,...) = printf;
-int(*p_putc)(int,FILE*) = putc;
-int(*p_putc_unlocked)(int,FILE*) = putc_unlocked;
-int(*p_putchar)(int) = putchar;
-int(*p_putchar_unlocked)(int) = putchar_unlocked;
-int(*p_puts)(const char*) = puts;
-int(*p_remove)(const char*) = remove;
-int(*p_rename)(const char*,const char*) = rename;
-int(*p_renameat)(int,const char*,int,const char*) = renameat;
-void(*p_rewind)(FILE*) = rewind;
-int(*p_scanf)(const char*restrict,...) = scanf;
-void(*p_setbuf)(FILE*restrict,char*restrict) = setbuf;
-int(*p_setvbuf)(FILE*restrict,char*restrict,int,size_t) = setvbuf;
-int(*p_snprintf)(char*restrict,size_t,const char*restrict,...) = snprintf;
-int(*p_sprintf)(char*restrict,const char*restrict,...) = sprintf;
-int(*p_sscanf)(const char*restrict,const char*restrict,...) = sscanf;
-char*(*p_tempnam)(const char*,const char*) = tempnam;
-FILE*(*p_tmpfile)(void) = tmpfile;
-char*(*p_tmpnam)(char*) = tmpnam;
-int(*p_ungetc)(int,FILE*) = ungetc;
+{void(*p)(FILE*) = clearerr;}
+{char*(*p)(char*) = ctermid;}
+{int(*p)(int,const char*restrict,...) = dprintf;}
+{int(*p)(FILE*) = fclose;}
+{FILE*(*p)(int,const char*) = fdopen;}
+{int(*p)(FILE*) = feof;}
+{int(*p)(FILE*) = ferror;}
+{int(*p)(FILE*) = fflush;}
+{int(*p)(FILE*) = fgetc;}
+{int(*p)(FILE*restrict,fpos_t*restrict) = fgetpos;}
+{char*(*p)(char*restrict,int,FILE*restrict) = fgets;}
+{int(*p)(FILE*) = fileno;}
+{void(*p)(FILE*) = flockfile;}
+{FILE*(*p)(void*restrict,size_t,const char*restrict) = fmemopen;}
+{FILE*(*p)(const char*restrict,const char*restrict) = fopen;}
+{int(*p)(FILE*restrict,const char*restrict,...) = fprintf;}
+{int(*p)(int,FILE*) = fputc;}
+{int(*p)(const char*restrict,FILE*restrict) = fputs;}
+{size_t(*p)(void*restrict,size_t,size_t,FILE*restrict) = fread;}
+{FILE*(*p)(const char*restrict,const char*restrict,FILE*restrict) = freopen;}
+{int(*p)(FILE*restrict,const char*restrict,...) = fscanf;}
+{int(*p)(FILE*,long,int) = fseek;}
+{int(*p)(FILE*,off_t,int) = fseeko;}
+{int(*p)(FILE*,const fpos_t*) = fsetpos;}
+{long(*p)(FILE*) = ftell;}
+{off_t(*p)(FILE*) = ftello;}
+{int(*p)(FILE*) = ftrylockfile;}
+{void(*p)(FILE*) = funlockfile;}
+{size_t(*p)(const void*restrict,size_t,size_t,FILE*restrict) = fwrite;}
+{int(*p)(FILE*) = getc;}
+{int(*p)(FILE*) = getc_unlocked;}
+{int(*p)(void) = getchar;}
+{int(*p)(void) = getchar_unlocked;}
+{ssize_t(*p)(char**restrict,size_t*restrict,int,FILE*restrict) = getdelim;}
+{ssize_t(*p)(char**restrict,size_t*restrict,FILE*restrict) = getline;}
+{char*(*p)(char*) = gets;}
+{FILE*(*p)(char**,size_t*) = open_memstream;}
+{int(*p)(FILE*) = pclose;}
+{void(*p)(const char*) = perror;}
+{FILE*(*p)(const char*,const char*) = popen;}
+{int(*p)(const char*restrict,...) = printf;}
+{int(*p)(int,FILE*) = putc;}
+{int(*p)(int,FILE*) = putc_unlocked;}
+{int(*p)(int) = putchar;}
+{int(*p)(int) = putchar_unlocked;}
+{int(*p)(const char*) = puts;}
+{int(*p)(const char*) = remove;}
+{int(*p)(const char*,const char*) = rename;}
+{int(*p)(int,const char*,int,const char*) = renameat;}
+{void(*p)(FILE*) = rewind;}
+{int(*p)(const char*restrict,...) = scanf;}
+{void(*p)(FILE*restrict,char*restrict) = setbuf;}
+{int(*p)(FILE*restrict,char*restrict,int,size_t) = setvbuf;}
+{int(*p)(char*restrict,size_t,const char*restrict,...) = snprintf;}
+{int(*p)(char*restrict,const char*restrict,...) = sprintf;}
+{int(*p)(const char*restrict,const char*restrict,...) = sscanf;}
+{char*(*p)(const char*,const char*) = tempnam;}
+{FILE*(*p)(void) = tmpfile;}
+{char*(*p)(char*) = tmpnam;}
+{int(*p)(int,FILE*) = ungetc;}
 }
 #include <wchar.h>
 static void g()
 {
-wint_t(*p_btowc)(int) = btowc;
-wint_t(*p_fgetwc)(FILE*) = fgetwc;
-wchar_t*(*p_fgetws)(wchar_t*restrict,int,FILE*restrict) = fgetws;
-wint_t(*p_fputwc)(wchar_t,FILE*) = fputwc;
-int(*p_fputws)(const wchar_t*restrict,FILE*restrict) = fputws;
-int(*p_fwide)(FILE*,int) = fwide;
-int(*p_fwprintf)(FILE*restrict,const wchar_t*restrict,...) = fwprintf;
-int(*p_fwscanf)(FILE*restrict,const wchar_t*restrict,...) = fwscanf;
-wint_t(*p_getwc)(FILE*) = getwc;
-wint_t(*p_putwc)(wchar_t,FILE*) = putwc;
-int(*p_swprintf)(wchar_t*restrict,size_t,const wchar_t*restrict,...) = swprintf;
-int(*p_swscanf)(const wchar_t*restrict,const wchar_t*restrict,...) = swscanf;
-wint_t(*p_ungetwc)(wint_t,FILE*) = ungetwc;
-int(*p_wctob)(wint_t) = wctob;
-int(*p_wprintf)(const wchar_t*restrict,...) = wprintf;
-int(*p_wscanf)(const wchar_t*restrict,...) = wscanf;
+{wint_t(*p)(int) = btowc;}
+{wint_t(*p)(FILE*) = fgetwc;}
+{wchar_t*(*p)(wchar_t*restrict,int,FILE*restrict) = fgetws;}
+{wint_t(*p)(wchar_t,FILE*) = fputwc;}
+{int(*p)(const wchar_t*restrict,FILE*restrict) = fputws;}
+{int(*p)(FILE*,int) = fwide;}
+{int(*p)(FILE*restrict,const wchar_t*restrict,...) = fwprintf;}
+{int(*p)(FILE*restrict,const wchar_t*restrict,...) = fwscanf;}
+{wint_t(*p)(FILE*) = getwc;}
+{wint_t(*p)(wchar_t,FILE*) = putwc;}
+{int(*p)(wchar_t*restrict,size_t,const wchar_t*restrict,...) = swprintf;}
+{int(*p)(const wchar_t*restrict,const wchar_t*restrict,...) = swscanf;}
+{wint_t(*p)(wint_t,FILE*) = ungetwc;}
+{int(*p)(wint_t) = wctob;}
+{int(*p)(const wchar_t*restrict,...) = wprintf;}
+{int(*p)(const wchar_t*restrict,...) = wscanf;}
 }
 #include <stdarg.h>
 static void h()
 {
-int(*p_vdprintf)(int,const char*restrict,va_list) = vdprintf;
-int(*p_vfprintf)(FILE*restrict,const char*restrict,va_list) = vfprintf;
-int(*p_vfscanf)(FILE*restrict,const char*restrict,va_list) = vfscanf;
-int(*p_vprintf)(const char*restrict,va_list) = vprintf;
-int(*p_vscanf)(const char*restrict,va_list) = vscanf;
-int(*p_vsnprintf)(char*restrict,size_t,const char*restrict,va_list) = vsnprintf;
-int(*p_vsprintf)(char*restrict,const char*restrict,va_list) = vsprintf;
-int(*p_vsscanf)(const char*restrict,const char*restrict,va_list) = vsscanf;
+{int(*p)(int,const char*restrict,va_list) = vdprintf;}
+{int(*p)(FILE*restrict,const char*restrict,va_list) = vfprintf;}
+{int(*p)(FILE*restrict,const char*restrict,va_list) = vfscanf;}
+{int(*p)(const char*restrict,va_list) = vprintf;}
+{int(*p)(const char*restrict,va_list) = vscanf;}
+{int(*p)(char*restrict,size_t,const char*restrict,va_list) = vsnprintf;}
+{int(*p)(char*restrict,const char*restrict,va_list) = vsprintf;}
+{int(*p)(const char*restrict,const char*restrict,va_list) = vsscanf;}
 
-int(*p_vfwprintf)(FILE*restrict,const wchar_t*restrict,va_list) = vfwprintf;
-int(*p_vfwscanf)(FILE*restrict,const wchar_t*restrict,va_list) = vfwscanf;
-int(*p_vswprintf)(wchar_t*restrict,size_t,const wchar_t*restrict,va_list) = vswprintf;
-int(*p_vswscanf)(const wchar_t*restrict,const wchar_t*restrict,va_list) = vswscanf;
-int(*p_vwprintf)(const wchar_t*restrict,va_list) = vwprintf;
-int(*p_vwscanf)(const wchar_t*restrict,va_list) = vwscanf;
+{int(*p)(FILE*restrict,const wchar_t*restrict,va_list) = vfwprintf;}
+{int(*p)(FILE*restrict,const wchar_t*restrict,va_list) = vfwscanf;}
+{int(*p)(wchar_t*restrict,size_t,const wchar_t*restrict,va_list) = vswprintf;}
+{int(*p)(const wchar_t*restrict,const wchar_t*restrict,va_list) = vswscanf;}
+{int(*p)(const wchar_t*restrict,va_list) = vwprintf;}
+{int(*p)(const wchar_t*restrict,va_list) = vwscanf;}
 }