summaryrefslogtreecommitdiff
path: root/lib/freadahead.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2012-02-03 22:58:33 +0100
committerBruno Haible <bruno@clisp.org>2012-02-03 22:58:33 +0100
commitc8095ab6d71402180c021ce6cf9867d5d8c34796 (patch)
tree71c82d770a9b5fb510ef998391bf8b1b47d3dc96 /lib/freadahead.c
parent93f8bee70d1bc611bead8a826edf0a932c2b8999 (diff)
downloadgnulib-c8095ab6d71402180c021ce6cf9867d5d8c34796.tar.gz
stdioext: Add tentative support for Plan9.
* lib/stdio-impl.h: Include <errno.h>. * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code. * lib/freadable.c (freadable): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fbufmode.c (fbufmode): Likewise. * lib/freading.c (freading): Likewise. * lib/fwriting.c (fwriting): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/fpurge.c (fpurge): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9. Reported by Jens Staal <staal1978@gmail.com>.
Diffstat (limited to 'lib/freadahead.c')
-rw-r--r--lib/freadahead.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/freadahead.c b/lib/freadahead.c
index 44656e5237..2ba8b34488 100644
--- a/lib/freadahead.c
+++ b/lib/freadahead.c
@@ -80,6 +80,10 @@ freadahead (FILE *fp)
return (fp->__pushed_back
? fp->__get_limit - fp->__pushback_bufp + 1
: fp->__get_limit - fp->__bufp);
+#elif defined EPLAN9 /* Plan9 */
+ if (fp->state == 4 /* WR */ || fp->rp >= fp->wp)
+ return 0;
+ return fp->wp - fp->rp;
#elif defined SLOW_BUT_NO_HACKS /* users can define this */
abort ();
return 0;