* closeout.c (close_stdout): Don't assume 'bool' converts nonzero
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Feb 2006 00:04:23 +0000 (00:04 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Feb 2006 00:04:23 +0000 (00:04 +0000)
ints to 0 or 1, as this isn't true for the stdbool.h substitute.

lib/ChangeLog
lib/closeout.c

index cb2cf94..a403158 100644 (file)
@@ -1,3 +1,8 @@
+2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * closeout.c (close_stdout): Don't assume 'bool' converts nonzero
+       ints to 0 or 1, as this isn't true for the stdbool.h substitute.
+
 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        * argp-namefrob.h: Restore changes accidentally lost during the
index 5d0509d..2137fd4 100644 (file)
@@ -1,7 +1,7 @@
 /* closeout.c - close standard output
 
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software
-   Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006 Free
+   Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -73,9 +73,9 @@ close_stdout_set_file_name (const char *file)
 void
 close_stdout (void)
 {
-  bool prev_fail = ferror (stdout);
-  bool none_pending = (0 == __fpending (stdout));
-  bool fclose_fail = fclose (stdout);
+  bool none_pending = (__fpending (stdout) == 0);
+  bool prev_fail = (ferror (stdout) != 0);
+  bool fclose_fail = (fclose (stdout) != 0);
 
   if (prev_fail || fclose_fail)
     {