changeset 12498:7aad334c08d7

binary-io: Avoid gcc warning due to SET_BINARY.
author Bruno Haible <bruno@clisp.org>
date Thu, 24 Dec 2009 22:16:51 +0100
parents e2d59f164e76
children 9deb67d8d0d7
files ChangeLog lib/binary-io.h
diffstat 2 files changed, 12 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/lib/binary-io.h
+++ b/lib/binary-io.h
@@ -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() */
@@ -49,15 +52,15 @@
    /* 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 */