diff --git a/lib/fpurge.c b/lib/fpurge.c index 0e2931e..d54e80f 100644 --- a/lib/fpurge.c +++ b/lib/fpurge.c @@ -115,14 +115,10 @@ fpurge (FILE *fp) fp->_Rend = fp->_Next; return 0; # elif defined __MINT__ /* Atari FreeMiNT */ - if (fp->__pushed_back) - { - fp->__bufp = fp->__pushback_bufp; - fp->__pushed_back = 0; - } - fp->__bufp = fp->__buffer; - fp->__get_limit = fp->__bufp; - fp->__put_limit = fp->__bufp; + fp->__pushback_bufp = 0; + if (fp->__mode.__write) + fp->__put_limit = fp->__buffer; + fp->__bufp = fp->__get_limit; 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."