Eric Blake
17c61d6a2c
Implement funopen, fopencookie.
* libc/include/sys/reent.h (struct __sFILE, struct __sFILE64):
Switch to reentrant callbacks.
* libc/include/stdio.h (funopen): Fix declaration.
(fopencookie): Declare.
* libc/stdio/local.h (__sread, __swrite, __sseek, __sclose)
(__sseek64, __swrite64): Fix prototypes.
[__SCLE]: Pull in setmode declaration.
* libc/stdio/stdio.c (__sread, __swrite, __sseek, __sclose): Fix
reentrancy.
* libc/stdio64/stdio64.c (__sseek64_r, __swrite64_r): Delete.
(__sseek64, __swrite64): Fix reentrancy.
* libc/stdio/fseek.c (_fseek_r): Account for overflow, and fix
reentrancy.
* libc/stdio/ftell.c (_ftell_r): Likewise.
* libc/stdio/flags.c (__sflags): Don't lose __SAPP on "a+".
* libc/stdio/fclose.c (_fclose_r): Fix reentrancy.
* libc/stdio/freopen.c (_freopen_r): Likewise.
* libc/stdio/fvwrite.c (__sfvwrite_r): Likewise.
* libc/stdio/refill.c (__srefill_r): Likewise.
* libc/stdio/siscanf.c (eofread): Likewise.
* libc/stdio/sscanf.c (eofread): Likewise.
* libc/stdio/vsiscanf.c (eofread1): Likewise.
* libc/stdio/vsscanf.c (eofread1): Likewise.
* libc/stdio64/freopen64.c (_freopen64_r): Likewise.
* libc/stdio64/fseeko64.c (_fseeko64_r): Likewise.
* libc/stdio64/ftello64.c (_ftello64_r): Likewise.
* libc/stdio/fflush.c (fflush): Improve reentrancy, although more
could be fixed.
* libc/stdio/fopencookie.c (_fopencookie_r, fopencookie): New file.
* libc/stdio/funopen.c (_funopen_r, funopen): New file.
* libc/stdio/Makefile.am (ELIX_4_SOURCES, CHEWOUT_FILES): Build
new files.
* libc/stdio/Makefile.in: Regenerate.
2007-06-04 18:10:17 +00:00
..
2007-05-04 02:55:16 +00:00
2007-05-09 19:27:30 +00:00
2007-05-09 19:27:30 +00:00
2007-05-04 02:55:16 +00:00
2006-09-26 21:22:19 +00:00
2007-05-04 02:55:16 +00:00
2007-05-04 02:55:16 +00:00
2007-06-04 18:10:17 +00:00
2004-04-23 20:01:55 +00:00
2004-04-23 20:01:55 +00:00
2006-09-26 21:22:19 +00:00
2006-09-26 21:22:19 +00:00
2007-06-04 18:10:17 +00:00
2006-09-26 21:22:19 +00:00
2005-02-08 01:33:19 +00:00
2006-09-26 21:22:19 +00:00
2006-09-26 21:22:19 +00:00
2007-05-01 23:03:36 +00:00
2007-05-04 02:55:16 +00:00
2004-11-24 00:45:41 +00:00
2007-06-04 18:10:17 +00:00
2000-12-06 23:50:11 +00:00
2004-06-11 20:37:10 +00:00
2007-06-04 18:10:17 +00:00
2007-05-04 02:55:16 +00:00
2006-09-26 21:22:19 +00:00
2006-09-26 21:22:19 +00:00
2007-03-15 18:40:48 +00:00
2007-06-04 18:10:17 +00:00
2004-04-23 20:01:55 +00:00
2007-06-04 18:10:17 +00:00
2004-04-23 20:01:55 +00:00
2004-04-23 20:01:55 +00:00
2007-06-04 18:10:17 +00:00
2004-04-23 20:01:55 +00:00
2007-06-04 18:10:17 +00:00
2007-06-04 18:10:17 +00:00
2007-03-15 18:40:48 +00:00
2004-09-16 21:26:51 +00:00
2006-09-26 21:22:19 +00:00
2006-06-14 20:49:11 +00:00
2006-09-26 21:22:19 +00:00
2006-06-14 20:49:11 +00:00
2006-06-14 20:49:11 +00:00
2006-09-26 21:22:19 +00:00
2004-04-23 20:01:55 +00:00
2004-04-23 20:01:55 +00:00
2005-10-28 21:21:08 +00:00
2007-05-04 02:55:16 +00:00
2005-02-08 01:33:19 +00:00
2007-06-04 18:10:17 +00:00
2007-05-01 23:03:36 +00:00
2007-06-04 18:10:17 +00:00
2007-06-04 18:10:17 +00:00
2007-05-01 23:03:36 +00:00
2005-02-08 01:33:19 +00:00
2007-05-04 02:55:16 +00:00
2006-06-14 20:49:11 +00:00
2006-09-26 21:22:19 +00:00
2004-04-23 20:01:55 +00:00
2006-06-14 20:49:11 +00:00
2006-06-14 20:49:11 +00:00
2005-10-28 21:21:08 +00:00
2007-06-04 18:10:17 +00:00
2004-04-23 20:01:55 +00:00
2004-04-23 20:01:55 +00:00
2007-05-25 17:05:09 +00:00
2006-06-15 16:08:09 +00:00
2005-02-08 01:33:19 +00:00
2004-11-24 00:45:41 +00:00
2004-04-23 20:01:55 +00:00
2004-09-16 21:15:14 +00:00
2004-04-23 20:01:55 +00:00
2006-09-26 21:22:19 +00:00
2007-05-04 02:55:16 +00:00
2007-06-04 18:10:17 +00:00
2007-05-04 02:55:16 +00:00
2007-03-15 18:40:48 +00:00
2007-05-04 02:55:16 +00:00
2007-06-04 18:10:17 +00:00
2007-06-04 18:10:17 +00:00
2005-10-11 23:59:32 +00:00
2007-05-17 12:10:29 +00:00
2004-04-23 20:01:55 +00:00
2006-09-26 21:22:19 +00:00
2007-04-04 18:32:49 +00:00
2007-05-09 19:27:30 +00:00
2007-05-09 19:27:30 +00:00
2007-04-04 18:32:49 +00:00
2007-05-04 02:55:16 +00:00
2007-05-04 02:55:16 +00:00
2004-05-26 00:19:14 +00:00
2007-05-27 14:19:15 +00:00
2007-05-24 04:25:18 +00:00
2007-05-04 02:55:16 +00:00
2005-10-28 21:38:59 +00:00
2005-02-08 01:33:19 +00:00
2005-02-08 01:33:19 +00:00
2007-05-04 02:55:16 +00:00
2007-06-04 18:10:17 +00:00
2007-05-04 02:55:16 +00:00
2007-04-04 18:32:49 +00:00
2007-04-04 18:32:49 +00:00
2007-06-04 18:10:17 +00:00
2007-03-15 18:40:48 +00:00
2007-03-15 18:40:48 +00:00