all: check stdout and stderr status at exit

If stream status is not checked at the end of execution below problem
would not report error, or non-zero exit code.  The uptime is just an
example same was true with all commands of the project.

$ uptime >&- ; echo $?
uptime: write error: Bad file descriptor
1
$ uptime >/dev/full ; echo $?
uptime: write error: No space left on device
1

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola
2012-03-23 13:32:24 +01:00
parent c7cf98b0e0
commit 52269d22f3
17 changed files with 47 additions and 11 deletions

2
pwdx.c
View File

@ -30,6 +30,7 @@
#include "c.h"
#include "nls.h"
#include "xalloc.h"
#include "fileutils.h"
static void __attribute__ ((__noreturn__)) usage(FILE * out)
{
@ -77,6 +78,7 @@ int main(int argc, char *argv[])
setlocale (LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
atexit(close_stdout);
while ((ch = getopt_long(argc, argv, "Vh", longopts, NULL)) != -1)
switch (ch) {