* 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 <[email protected]> --- Even though <fcntl.h> sanitized Haiku's worthless O_TEXT, "binary-io.h" was then nuking the sanitized version and failing to replace it, leading to compilation errors due to undefined O_TEXT on just Haiku. ChangeLog | 8 ++++++++ lib/binary-io.h | 15 +-------------- modules/binary-io | 1 + 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 54c4598..6cf52b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-01-19 Eric Blake <[email protected]> + + 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 <[email protected]> include_next: do not check for standard headers like stddef.h diff --git a/lib/binary-io.h b/lib/binary-io.h index 2fdc642..c09dbf5 100644 --- a/lib/binary-io.h +++ b/lib/binary-io.h @@ -18,24 +18,13 @@ #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 diff --git a/modules/binary-io b/modules/binary-io index e97feb9..eb41ec0 100644 --- a/modules/binary-io +++ b/modules/binary-io @@ -5,6 +5,7 @@ Files: lib/binary-io.h Depends-on: +fcntl-h configure.ac: -- 1.7.3.4
