fclose: preserve fflush errors
authorEric Blake <eblake@redhat.com>
Wed, 11 May 2011 17:35:06 +0000 (11:35 -0600)
committerEric Blake <eblake@redhat.com>
Wed, 11 May 2011 17:35:06 +0000 (11:35 -0600)
Caught by gcc -Werror=unused-but-set-variable.

* lib/fclose.c (rpl_fclose): Don't lose fflush errors.
Reported by Jim Meyering.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
lib/fclose.c

index f4d78dd8880f4b3ce9a362aaa712cfca438d6d69..e8e37db0e7724149209a277dd9bbb59818fca1c9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2011-05-11  Eric Blake  <eblake@redhat.com>
 
+       fclose: preserve fflush errors
+       * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
+       Reported by Jim Meyering.
+
        bootstrap: support a prereq of 'rpcgen -' on RHEL5
        * build-aux/bootstrap (check_versions): When no specific version
        is required, merely check that the app produces an exit status
index a8d68b4d8197c8a7e9f8ab4959600ae7a4a9de2c..c0dfa27e9fe0443ab22ac66beace09301d6e06c3 100644 (file)
@@ -57,12 +57,6 @@ rpl_fclose (FILE *fp)
 
   fclose (fp); /* will fail with errno = EBADF, if we did not lose a race */
 
-  if (saved_errno != 0)
-    {
-      errno = saved_errno;
-      result = EOF;
-    }
-
 #else /* !WINDOWS_SOCKETS */
   /* Call fclose() and invoke all hooks of the overridden close().  */
 
@@ -80,5 +74,11 @@ rpl_fclose (FILE *fp)
 
 #endif /* !WINDOWS_SOCKETS */
 
+  if (saved_errno != 0)
+    {
+      errno = saved_errno;
+      result = EOF;
+    }
+
   return result;
 }