Make major improvements to stdio
Buffering now has optimal performance, bugs have been fixed, and some missing apis have been introduced. This implementation is also now more production worthy since it's less brittle now in terms of system errors. That's going to help redbean since lua i/o is all based on stdio. See #97
This commit is contained in:
@ -1,23 +1,19 @@
|
||||
#ifndef COSMOPOLITAN_LIBC_STDIO_INTERNAL_H_
|
||||
#define COSMOPOLITAN_LIBC_STDIO_INTERNAL_H_
|
||||
#include "libc/stdio/stdio.h"
|
||||
|
||||
#define PUSHBACK 12
|
||||
|
||||
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
||||
COSMOPOLITAN_C_START_
|
||||
|
||||
extern unsigned char g_stdinbuf[BUFSIZ];
|
||||
extern unsigned char g_stdoutbuf[BUFSIZ];
|
||||
extern unsigned char g_stderrbuf[BUFSIZ];
|
||||
extern char g_stdinbuf[BUFSIZ];
|
||||
extern char g_stdoutbuf[BUFSIZ];
|
||||
extern char g_stderrbuf[BUFSIZ];
|
||||
|
||||
int __fflush_register(FILE *) hidden;
|
||||
void __fflush_unregister(FILE *) hidden;
|
||||
|
||||
int __freadbuf(FILE *) hidden;
|
||||
int __fwritebuf(FILE *) hidden;
|
||||
long __fseteof(FILE *) hidden;
|
||||
long __fseterrno(FILE *) hidden;
|
||||
long __fseterr(FILE *, int) hidden;
|
||||
void __fclosepid(FILE *) hidden;
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
#endif /* COSMOPOLITAN_LIBC_STDIO_INTERNAL_H_ */
|
||||
|
||||
Reference in New Issue
Block a user