Hi Bruno, Attached are the freading.c and fwriting.c patches to make them pass.
Alan.
diff --git a/lib/fwriting.c b/lib/fwriting.c index b7fa455..ba05e65 100644 --- a/lib/fwriting.c +++ b/lib/fwriting.c @@ -41,10 +41,9 @@ fwriting (FILE *fp) return ((fp->_Mode & 0x1 /* _MOPENR */) == 0 || (fp->_Mode & 0x2000 /* _MWRITE */) != 0); #elif defined __MINT__ /* Atari FreeMiNT */ - return (!fp->__mode.__read - || (fp->__mode.__write - && (fp->__buffer < fp->__put_limit - /*|| fp->__bufp == fp->__get_limit ??*/))); + if (!fp->__mode.__read && fp->__mode.__write) + return 1; + return (fp->__flags & _IO_CURRENTLY_PUTTING) != 0; #else #error "Please port gnulib fwriting.c to your platform!" #endif
diff --git a/lib/freading.c b/lib/freading.c index f20affc..2399dc7 100644 --- a/lib/freading.c +++ b/lib/freading.c @@ -47,10 +47,9 @@ freading (FILE *fp) return ((fp->_Mode & 0x2 /* _MOPENW */) == 0 || (fp->_Mode & 0x1000 /* _MREAD */) != 0); #elif defined __MINT__ /* Atari FreeMiNT */ - return (!fp->__mode.__write - || (fp->__mode.__read - && (fp->__buffer < fp->__get_limit - /*|| fp->__bufp == fp->__put_limit ??*/))); + if (!fp->__mode.__write && fp->__mode.__read) + return 1; + return (fp->__flags & _IO_CURRENTLY_GETTING) != 0; #else #error "Please port gnulib freading.c to your platform!" #endif