diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-06-30 11:42:33 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-06-30 11:42:33 -0400 |
commit | 7640497f5f28ddb4aa13528676a99b603320f47e (patch) | |
tree | 000a3f48b6d4f0a557f291ee043db9aadfc9c2a2 | |
parent | fb62ae74d0c87ff506e970bf18579cc96b16e046 (diff) | |
download | musl-7640497f5f28ddb4aa13528676a99b603320f47e.tar.gz musl-7640497f5f28ddb4aa13528676a99b603320f47e.tar.bz2 musl-7640497f5f28ddb4aa13528676a99b603320f47e.tar.xz musl-7640497f5f28ddb4aa13528676a99b603320f47e.zip |
implement the nonstandard GNU function fpurge
this is a really ugly and backwards function, but its presence will
prevent lots of broken gnulib software from trying to define its own
version of fpurge and thereby failing to build or worse.
-rw-r--r-- | include/stdio.h | 1 | ||||
-rw-r--r-- | src/stdio/fpurge.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/stdio.h b/include/stdio.h index 69178cc8..b54fe195 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -158,6 +158,7 @@ int asprintf(char **, const char *, ...); int vasprintf(char **, const char *, va_list); void setlinebuf(FILE *); void setbuffer(FILE *, char *, size_t); +int fpurge(FILE *); #endif #ifdef __cplusplus diff --git a/src/stdio/fpurge.c b/src/stdio/fpurge.c new file mode 100644 index 00000000..a9e98e7b --- /dev/null +++ b/src/stdio/fpurge.c @@ -0,0 +1,11 @@ +#define _GNU_SOURCE +#include "stdio_impl.h" + +int __fpurge(FILE *f) +{ + f->wpos = f->wbase = f->wend = 0; + f->rpos = f->rend = 0; + return 0; +} + +weak_alias(__fpurge, fpurge); |