# HG changeset patch # User Eric Blake # Date 1305135306 21600 # Node ID f0a9a2cd267c2d93d98c9132add6cba14e28c182 # Parent 28442a65c23ee9e1d167752e3a1d13b06ab3c220 fclose: preserve fflush errors 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 diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-05-11 Eric Blake + 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 diff --git a/lib/fclose.c b/lib/fclose.c --- a/lib/fclose.c +++ b/lib/fclose.c @@ -57,12 +57,6 @@ 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 @@ #endif /* !WINDOWS_SOCKETS */ + if (saved_errno != 0) + { + errno = saved_errno; + result = EOF; + } + return result; }