binary-io: fix O_TEXT on Haiku
authorEric Blake <eblake@redhat.com>
Wed, 19 Jan 2011 13:17:20 +0000 (06:17 -0700)
committerEric Blake <eblake@redhat.com>
Wed, 19 Jan 2011 13:18:00 +0000 (06:18 -0700)
* modules/binary-io (Depends-on): Add fcntl-h.
* lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
than blindly undefining O_TEXT.
Reported by Scott McCreary.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
lib/binary-io.h
modules/binary-io

index 54c4598..6cf52b7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-01-19  Eric Blake  <eblake@redhat.com>
+
+       binary-io: fix O_TEXT on Haiku
+       * modules/binary-io (Depends-on): Add fcntl-h.
+       * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
+       than blindly undefining O_TEXT.
+       Reported by Scott McCreary.
+
 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
 
        include_next: do not check for standard headers like stddef.h
index 2fdc642..c09dbf5 100644 (file)
 #define _BINARY_H
 
 /* For systems that distinguish between text and binary I/O.
-   O_BINARY is usually declared in <fcntl.h>. */
+   O_BINARY is guaranteed by the gnulib <fcntl.h>. */
 #include <fcntl.h>
 
 /* The MSVC7 <stdio.h> doesn't like to be included after '#define fileno ...',
    so we include it here first.  */
 #include <stdio.h>
 
-#if !defined O_BINARY && defined _O_BINARY
-  /* For MSC-compatible compilers.  */
-# define O_BINARY _O_BINARY
-# define O_TEXT _O_TEXT
-#endif
-#if defined __BEOS__ || defined __HAIKU__
-  /* BeOS 5 and Haiku have O_BINARY and O_TEXT, but they have no effect.  */
-# undef O_BINARY
-# undef O_TEXT
-#endif
-
 /* SET_BINARY (fd);
    changes the file descriptor fd to perform binary I/O.  */
 #if O_BINARY
@@ -57,8 +46,6 @@
 # endif
 #else
   /* On reasonable systems, binary I/O is the default.  */
-# undef O_BINARY
-# define O_BINARY 0
 # define SET_BINARY(fd) /* do nothing */ ((void) 0)
 #endif
 
index e97feb9..eb41ec0 100644 (file)
@@ -5,6 +5,7 @@ Files:
 lib/binary-io.h
 
 Depends-on:
+fcntl-h
 
 configure.ac: