binary-io: Avoid gcc warning due to SET_BINARY.
authorBruno Haible <bruno@clisp.org>
Thu, 24 Dec 2009 21:16:51 +0000 (22:16 +0100)
committerBruno Haible <bruno@clisp.org>
Thu, 24 Dec 2009 21:16:51 +0000 (22:16 +0100)
ChangeLog
lib/binary-io.h

index 72c649f..8b557bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-12-24  Bruno Haible  <bruno@clisp.org>
 
+       binary-io: Avoid gcc warning due to SET_BINARY.
+       * lib/binary-io.h (SET_BINARY): Cast the result to void.
+       Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
+
+2009-12-24  Bruno Haible  <bruno@clisp.org>
+
        Avoid future namespace pollution on glibc systems.
        * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
        * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
index 9851511..2c9ff71 100644 (file)
@@ -36,6 +36,9 @@
 # undef O_BINARY
 # undef O_TEXT
 #endif
+
+/* SET_BINARY (fd);
+   changes the file descriptor fd to perform binary I/O.  */
 #if O_BINARY
 # if defined __EMX__ || defined __DJGPP__ || defined __CYGWIN__
 #  include <io.h> /* declares setmode() */
    /* Avoid putting stdin/stdout in binary mode if it is connected to
       the console, because that would make it impossible for the user
       to interrupt the program through Ctrl-C or Ctrl-Break.  */
-#  define SET_BINARY(fd) (!isatty (fd) ? (setmode (fd, O_BINARY), 0) : 0)
+#  define SET_BINARY(fd) ((void) (!isatty (fd) ? (setmode (fd, O_BINARY), 0) : 0))
 # else
-#  define SET_BINARY(fd) setmode (fd, O_BINARY)
+#  define SET_BINARY(fd) ((void) setmode (fd, O_BINARY))
 # endif
 #else
   /* On reasonable systems, binary I/O is the default.  */
 # undef O_BINARY
 # define O_BINARY 0
-# define SET_BINARY(fd) /* nothing */
+# define SET_BINARY(fd) /* do nothing */ ((void) 0)
 #endif
 
 #endif /* _BINARY_H */