summaryrefslogtreecommitdiff
path: root/lib/fpurge.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2007-06-09 01:27:49 +0000
committerBruno Haible <bruno@clisp.org>2007-06-09 01:27:49 +0000
commit555c3d668283df0cb7d4d29463db275cff9acecd (patch)
treead83848bcec10624733a9fae2cf2618aacf8310b /lib/fpurge.c
parentb22f2f094e1218b738ce6168ce13eb3d018c24d3 (diff)
downloadgnulib-555c3d668283df0cb7d4d29463db275cff9acecd.tar.gz
Add support for uClibc 0.9.29.
Diffstat (limited to 'lib/fpurge.c')
-rw-r--r--lib/fpurge.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/fpurge.c b/lib/fpurge.c
index e5d673ae96..eb18b76840 100644
--- a/lib/fpurge.c
+++ b/lib/fpurge.c
@@ -96,6 +96,14 @@ fpurge (FILE *fp)
if (fp->_ptr != NULL)
fp->_cnt = 0;
return 0;
+# elif defined __UCLIBC__ /* uClibc */
+# ifdef __STDIO_BUFFERS
+ if (fp->__modeflags & __FLAG_WRITING)
+ fp->__bufpos = fp->__bufstart;
+ else if (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING))
+ fp->__bufpos = fp->__bufread;
+# endif
+ return 0;
# else
#error "Please port gnulib fpurge.c to your platform! Look at the definitions of fflush, setvbuf and ungetc on your system, then report this to bug-gnulib."
# endif