diff options
author | Jim Meyering <jim@meyering.net> | 2000-08-26 12:05:50 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2000-08-26 12:05:50 +0000 |
commit | dc93e673057eff19c3636d072e9c9954af30d317 (patch) | |
tree | aeab49490442c072e5206710af79076e54d14519 /lib/closeout.c | |
parent | 04b3f8c73f04d394c88ee04d67f0998942b90bdb (diff) | |
download | coreutils-dc93e673057eff19c3636d072e9c9954af30d317.tar.xz |
Include "__fpending.h".
(close_stdout_status): Return right away if there's nothing to flush.
Diffstat (limited to 'lib/closeout.c')
-rw-r--r-- | lib/closeout.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/closeout.c b/lib/closeout.c index 71151b84e..bdda59fee 100644 --- a/lib/closeout.c +++ b/lib/closeout.c @@ -43,6 +43,7 @@ extern int errno; #include "closeout.h" #include "error.h" #include "quotearg.h" +#include "__fpending.h" static int default_exit_status = EXIT_FAILURE; static const char *file_name; @@ -86,11 +87,15 @@ close_stdout_set_file_name (const char *file) It's important to detect such failures and exit nonzero because many tools (most notably `make' and other build-management systems) depend on being able to detect failure in other tools via their exit status. */ + void close_stdout_status (int status) { int e = ferror (stdout) ? 0 : -1; + if (__fpending (stdout) == 0) + return; + if (fclose (stdout) != 0) e = errno; |