open, fopen: close fd leak in last patch
[gnulib.git] / lib / fwriting.c
index 7d4e01f..7ce0925 100644 (file)
@@ -19,6 +19,8 @@
 /* Specification.  */
 #include "fwriting.h"
 
+#include "stdio-impl.h"
+
 bool
 fwriting (FILE *fp)
 {
@@ -27,14 +29,11 @@ fwriting (FILE *fp)
      fast macros.  */
 #if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
   return (fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) != 0;
-#elif defined __sferror             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
-  return (fp->_flags & __SWR) != 0;
+#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+  return (fp_->_flags & __SWR) != 0;
 #elif defined __EMX__               /* emx+gcc */
   return (fp->_flags & _IOWRT) != 0;
 #elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
-# if defined _SCO_DS                /* OpenServer */
-#  define _flag __flag
-# endif
   return (fp->_flag & _IOWRT) != 0;
 #elif defined __UCLIBC__            /* uClibc */
   return (fp->__modeflags & __FLAG_WRITING) != 0;