There are some compilation errors also in the stdioext modules: gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT fbufmode.o -MD -MP -MF .deps/fbufmode.Tpo -c -o fbufmode.o fbufmode.c fbufmode.c: In function 'fbufmode': fbufmode.c:58: error: 'FILE' has no member named '_flag' fbufmode.c:61: error: 'FILE' has no member named '_flag' *** Error code 1 (continuing)
gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT freadahead.o -MD -MP -MF .deps/freadahead.Tpo -c -o freadahead.o freadahead.c freadahead.c: In function 'freadahead': freadahead.c:52: error: 'FILE' has no member named '_flag' freadahead.c:52: error: '_IOWRT' undeclared (first use in this function) freadahead.c:52: error: (Each undeclared identifier is reported only once freadahead.c:52: error: for each function it appears in.) freadahead.c:54: error: 'FILE' has no member named '_cnt' *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT freading.o -MD -MP -MF .deps/freading.Tpo -c -o freading.o freading.c freading.c: In function 'freading': freading.c:46: error: 'FILE' has no member named '_flag' *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT freadptr.o -MD -MP -MF .deps/freadptr.Tpo -c -o freadptr.o freadptr.c freadptr.c: In function 'freadptr': freadptr.c:60: error: 'FILE' has no member named '_flag' freadptr.c:60: error: '_IOWRT' undeclared (first use in this function) freadptr.c:60: error: (Each undeclared identifier is reported only once freadptr.c:60: error: for each function it appears in.) freadptr.c:62: error: 'FILE' has no member named '_cnt' *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT freadseek.o -MD -MP -MF .deps/freadseek.Tpo -c -o freadseek.o freadseek.c freadseek.c: In function 'freadptrinc': freadseek.c:47: error: 'FILE' has no member named '_cnt' *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT fseterr.o -MD -MP -MF .deps/fseterr.Tpo -c -o fseterr.o fseterr.c fseterr.c: In function 'fseterr': fseterr.c:39: error: 'FILE' has no member named '_flag' *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT fpurge.o -MD -MP -MF .deps/fpurge.Tpo -c -o fpurge.o fpurge.c fpurge.c: In function 'fpurge': fpurge.c:95: error: 'FILE' has no member named '_base' fpurge.c:97: error: 'FILE' has no member named '_cnt' *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT freadable.o -MD -MP -MF .deps/freadable.Tpo -c -o freadable.o freadable.c freadable.c: In function 'freadable': freadable.c:37: error: 'FILE' has no member named '_flag' freadable.c:37: error: '_IORW' undeclared (first use in this function) freadable.c:37: error: (Each undeclared identifier is reported only once freadable.c:37: error: for each function it appears in.) *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT fwritable.o -MD -MP -MF .deps/fwritable.Tpo -c -o fwritable.o fwritable.c fwritable.c: In function 'fwritable': fwritable.c:37: error: 'FILE' has no member named '_flag' fwritable.c:37: error: '_IORW' undeclared (first use in this function) fwritable.c:37: error: (Each undeclared identifier is reported only once fwritable.c:37: error: for each function it appears in.) fwritable.c:37: error: '_IOWRT' undeclared (first use in this function) *** Error code 1 (continuing) gcc -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -g -O2 -MT fwriting.o -MD -MP -MF .deps/fwriting.Tpo -c -o fwriting.o fwriting.c fwriting.c: In function 'fwriting': fwriting.c:37: error: 'FILE' has no member named '_flag' fwriting.c:37: error: '_IOWRT' undeclared (first use in this function) fwriting.c:37: error: (Each undeclared identifier is reported only once fwriting.c:37: error: for each function it appears in.) *** Error code 1 (continuing) This fixes it; all stdioext tests pass. 2011-07-31 Bruno Haible <br...@clisp.org> stdioext: Add support for Minix. * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code. * lib/fpurge.c (fpurge): Likewise. * lib/freadahead.c (freadahead): Likewise. * lib/freadable.c (freadable): Likewise. * lib/freading.c (freading): Likewise. * lib/freadptr.c (freadptr): Likewise. * lib/freadseek.c (freadptrinc): Likewise. * lib/fseeko.c (rpl_fseeko): Likewise. * lib/fseterr.c (fseterr): Likewise. * lib/fwritable.c (fwritable): Likewise. * lib/fwriting.c (fwriting): Likewise. * lib/fflush.c (clear_ungetc_buffer): Update comment. * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix. --- lib/fbufmode.c.orig Sun Jul 31 21:10:11 2011 +++ lib/fbufmode.c Sun Jul 31 19:36:43 2011 @@ -50,6 +50,8 @@ return _IOFBF; #elif defined __EMX__ /* emx+gcc */ return fp->_flags & (_IOLBF | _IONBF | _IOFBF); +#elif defined __minix /* Minix */ + return fp->_flags & (_IOLBF | _IONBF | _IOFBF); #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ # if HAVE___FLBF /* Solaris >= 7 */ if (__flbf (fp)) --- lib/fflush.c.orig Sun Jul 31 21:10:11 2011 +++ lib/fflush.c Sun Jul 31 21:08:54 2011 @@ -60,7 +60,7 @@ fp->_ungetc_count = 0; fp->_rcount = - fp->_rcount; } -# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ +# elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ /* Nothing to do. */ # else /* other implementations */ fseeko (fp, 0, SEEK_CUR); --- lib/fpurge.c.orig Sun Jul 31 21:10:11 2011 +++ lib/fpurge.c Sun Jul 31 20:56:31 2011 @@ -91,6 +91,11 @@ fp->_wcount = 0; fp->_ungetc_count = 0; return 0; +# elif defined __minix /* Minix */ + fp->_ptr = fp->_buf; + if (fp->_ptr != NULL) + fp->_count = 0; + return 0; # elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ fp->_ptr = fp->_base; if (fp->_ptr != NULL) --- lib/freadable.c.orig Sun Jul 31 21:10:11 2011 +++ lib/freadable.c Sun Jul 31 20:12:43 2011 @@ -33,6 +33,8 @@ return (fp_->_flags & (__SRW | __SRD)) != 0; #elif defined __EMX__ /* emx+gcc */ return (fp->_flags & (_IORW | _IOREAD)) != 0; +#elif defined __minix /* Minix */ + return (fp->_flags & _IOREAD) != 0; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ return (fp->_flag & (_IORW | _IOREAD)) != 0; #elif defined __QNX__ /* QNX */ --- lib/freadahead.c.orig Sun Jul 31 21:10:11 2011 +++ lib/freadahead.c Sun Jul 31 21:05:34 2011 @@ -48,6 +48,10 @@ /* equivalent to (fp->_ungetc_count == 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount) */ return (fp->_rcount > 0 ? fp->_rcount : fp->_ungetc_count - fp->_rcount); +#elif defined __minix /* Minix */ + if ((fp_->_flags & _IOWRITING) != 0) + return 0; + return fp_->_count; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ if ((fp_->_flag & _IOWRT) != 0) return 0; --- lib/freading.c.orig Sun Jul 31 21:10:11 2011 +++ lib/freading.c Sun Jul 31 20:13:24 2011 @@ -39,6 +39,8 @@ return (fp_->_flags & __SRD) != 0; # elif defined __EMX__ /* emx+gcc */ return (fp->_flags & _IOREAD) != 0; +# elif defined __minix /* Minix */ + return (fp->_flags & _IOREADING) != 0; # elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ # if defined __sun /* Solaris */ return (fp->_flag & _IOREAD) != 0 && (fp->_flag & _IOWRT) == 0; --- lib/freadptr.c.orig Sun Jul 31 21:10:11 2011 +++ lib/freadptr.c Sun Jul 31 21:06:28 2011 @@ -56,6 +56,14 @@ abort (); *sizep = fp->_rcount; return fp->_ptr; +#elif defined __minix /* Minix */ + if ((fp_->_flags & _IOWRITING) != 0) + return NULL; + size = fp_->_count; + if (size == 0) + return NULL; + *sizep = size; + return (const char *) fp_->_ptr; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ if ((fp_->_flag & _IOWRT) != 0) return NULL; --- lib/freadseek.c.orig Sun Jul 31 21:10:11 2011 +++ lib/freadseek.c Sun Jul 31 20:15:26 2011 @@ -42,6 +42,9 @@ #elif defined __EMX__ /* emx+gcc */ fp->_ptr += increment; fp->_rcount -= increment; +#elif defined __minix /* Minix */ + fp_->_ptr += increment; + fp_->_count -= increment; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ fp_->_ptr += increment; fp_->_cnt -= increment; --- lib/fseeko.c.orig Sun Jul 31 21:10:11 2011 +++ lib/fseeko.c Sun Jul 31 20:58:41 2011 @@ -69,6 +69,9 @@ && fp->_rcount == 0 && fp->_wcount == 0 && fp->_ungetc_count == 0) +#elif defined __minix /* Minix */ + if (fp_->_ptr == fp_->_buf + && (fp_->_ptr == NULL || fp_->_count == 0)) #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ if (fp_->_ptr == fp_->_base && (fp_->_ptr == NULL || fp_->_cnt == 0)) --- lib/fseterr.c.orig Sun Jul 31 21:10:11 2011 +++ lib/fseterr.c Sun Jul 31 19:44:06 2011 @@ -35,6 +35,8 @@ fp_->_flags |= __SERR; #elif defined __EMX__ /* emx+gcc */ fp->_flags |= _IOERR; +#elif defined __minix /* Minix */ + fp->_flags |= _IOERR; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ fp_->_flag |= _IOERR; #elif defined __UCLIBC__ /* uClibc */ --- lib/fwritable.c.orig Sun Jul 31 21:10:11 2011 +++ lib/fwritable.c Sun Jul 31 20:12:59 2011 @@ -33,6 +33,8 @@ return (fp_->_flags & (__SRW | __SWR)) != 0; #elif defined __EMX__ /* emx+gcc */ return (fp->_flags & (_IORW | _IOWRT)) != 0; +#elif defined __minix /* Minix */ + return (fp->_flags & _IOWRITE) != 0; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ return (fp->_flag & (_IORW | _IOWRT)) != 0; #elif defined __QNX__ /* QNX */ --- lib/fwriting.c.orig Sun Jul 31 21:10:11 2011 +++ lib/fwriting.c Sun Jul 31 20:13:44 2011 @@ -33,6 +33,8 @@ return (fp_->_flags & __SWR) != 0; #elif defined __EMX__ /* emx+gcc */ return (fp->_flags & _IOWRT) != 0; +#elif defined __minix /* Minix */ + return (fp->_flags & _IOWRITING) != 0; #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */ return (fp->_flag & _IOWRT) != 0; #elif defined __UCLIBC__ /* uClibc */ --- m4/fpending.m4.orig Sun Jul 31 21:10:11 2011 +++ m4/fpending.m4 Sun Jul 31 21:00:07 2011 @@ -1,4 +1,4 @@ -# serial 16 +# serial 17 # Copyright (C) 2000-2001, 2004-2011 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -58,6 +58,9 @@ '# emx+gcc' \ 'fp->_ptr - fp->_buffer' \ \ + '# Minix' \ + 'fp->_ptr - fp->_buf' \ + \ '# VMS' \ '(*fp)->_ptr - (*fp)->_base' \ \ -- In memoriam Jean Jaurès <http://en.wikipedia.org/wiki/Jean_Jaurès>