Mercurial > hg > octave-kai > gnulib-hg
diff lib/freadptr.c @ 16344:ecfc57537d99
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>.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Fri, 03 Feb 2012 22:58:33 +0100 |
parents | 8250f2777afc |
children | 498a2211d839 |
line wrap: on
line diff
--- a/lib/freadptr.c +++ b/lib/freadptr.c @@ -101,6 +101,13 @@ return NULL; *sizep = size; return fp->__bufp; +#elif defined EPLAN9 /* Plan9 */ + if (fp->state == 4 /* WR */) + return NULL; + if (fp->rp >= fp->wp) + return NULL; + *sizep = fp->wp - fp->rp; + return fp->rp; #elif defined SLOW_BUT_NO_HACKS /* users can define this */ /* This implementation is correct on any ANSI C platform. It is just awfully slow. */