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 72c649f2ef64bfc0d7ab754ea939144e2716e573..8b557bd9b6eb2628d59ce68d8a54d9c4358151be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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.
index 9851511b355e9e87a13ae6cf7ee40684ed227f2a..2c9ff7199b672fcc570337fa05ba1f171780b7b4 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 */