From: Bruno Haible <bruno@clisp.org>
Date: Thu, 24 Dec 2009 21:16:51 +0000 (+0100)
Subject: binary-io: Avoid gcc warning due to SET_BINARY.
X-Git-Tag: v0.1~4989
X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=c73cdbdef5df3a834991ea510f262512dd2bdf82;p=gnulib.git

binary-io: Avoid gcc warning due to SET_BINARY.
---

diff --git a/ChangeLog b/ChangeLog
index 72c649f2ef..8b557bd9b6 100644
--- 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.
diff --git a/lib/binary-io.h b/lib/binary-io.h
index 9851511b35..2c9ff7199b 100644
--- 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 */