diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-06-30 12:44:48 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-06-30 12:44:48 -0400 |
commit | a0b56b947a5a8a58fe2accea7f6d9ee927d70ad4 (patch) | |
tree | 8080301f6ee6645bd39d390422956452bc98b5df /src/stdio/ext.c | |
parent | 7640497f5f28ddb4aa13528676a99b603320f47e (diff) | |
download | musl-a0b56b947a5a8a58fe2accea7f6d9ee927d70ad4.tar.gz musl-a0b56b947a5a8a58fe2accea7f6d9ee927d70ad4.tar.xz musl-a0b56b947a5a8a58fe2accea7f6d9ee927d70ad4.zip |
add and consolidate nasty stdio_ext junk
hopefully this resolves the rest of the issues with hideously nonportable hacks in programs that use gnulib.
Diffstat (limited to 'src/stdio/ext.c')
-rw-r--r-- | src/stdio/ext.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/stdio/ext.c b/src/stdio/ext.c new file mode 100644 index 00000000..d5a403b6 --- /dev/null +++ b/src/stdio/ext.c @@ -0,0 +1,57 @@ +#define _GNU_SOURCE +#include "stdio_impl.h" +#include <stdio_ext.h> + +void _flushlbf(void) +{ + fflush(0); +} + +int __fsetlocking(FILE *f, int type) +{ + return 0; +} + +int __fwriting(FILE *f) +{ + return f->wend > f->wpos; +} + +int __freading(FILE *f) +{ + return f->rend > f->rpos; +} + +int __freadable(FILE *f) +{ + return !(f->flags & F_NORD); +} + +int __fwritable(FILE *f) +{ + return !(f->flags & F_NOWR); +} + +int __flbf(FILE *f) +{ + return f->lbf >= 0; +} + +size_t __fbufsize(FILE *f) +{ + return f->buf_size; +} + +size_t __fpending(FILE *f) +{ + return f->wend ? f->wpos - f->wbase : 0; +} + +int __fpurge(FILE *f) +{ + f->wpos = f->wbase = f->wend = 0; + f->rpos = f->rend = 0; + return 0; +} + +weak_alias(__fpurge, fpurge); |