X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ffwriting.c;h=12cd25e23d88135f227ab69d2d86fe3fe0bef7f0;hb=83e52ee5a420f8b552745a72e5869001b0f6da60;hp=b7fa45571b73e6183e95681cd9aeb7c61ab7f37a;hpb=81fe603b84b9ab4565593f0b38b30274dbb73980;p=gnulib.git diff --git a/lib/fwriting.c b/lib/fwriting.c index b7fa45571..12cd25e23 100644 --- a/lib/fwriting.c +++ b/lib/fwriting.c @@ -1,5 +1,5 @@ /* Retrieve information about a FILE stream. - Copyright (C) 2007-2009 Free Software Foundation, Inc. + Copyright (C) 2007-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,12 +39,17 @@ fwriting (FILE *fp) return (fp->__modeflags & __FLAG_WRITING) != 0; #elif defined __QNX__ /* QNX */ return ((fp->_Mode & 0x1 /* _MOPENR */) == 0 - || (fp->_Mode & 0x2000 /* _MWRITE */) != 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) + return 1; + if (!fp->__mode.__write) + return 0; +# ifdef _IO_CURRENTLY_PUTTING /* Flag added on 2009-02-28 */ + return (fp->__flags & _IO_CURRENTLY_PUTTING) != 0; +# else + return (fp->__buffer < fp->__put_limit /*|| fp->__bufp == fp->__get_limit ??*/); +# endif #else #error "Please port gnulib fwriting.c to your platform!" #endif