projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New modules unistr/u*-mbsnlen.
[gnulib.git]
/
lib
/
closeout.c
diff --git
a/lib/closeout.c
b/lib/closeout.c
index
e4093fb
..
830f16f
100644
(file)
--- a/
lib/closeout.c
+++ b/
lib/closeout.c
@@
-1,4
+1,4
@@
-/* Close standard output, exiting with a diagnostic on error.
+/* Close standard output
and standard error
, exiting with a diagnostic on error.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006 Free
Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006 Free
Software Foundation, Inc.
@@
-46,6
+46,8
@@
close_stdout_set_file_name (const char *file)
/* Close standard output. On error, issue a diagnostic and _exit
with status 'exit_failure'.
/* Close standard output. On error, issue a diagnostic and _exit
with status 'exit_failure'.
+ Also close standard error. On error, _exit with status 'exit_failure'.
+
Since close_stdout is commonly registered via 'atexit', POSIX
and the C standard both say that it should not call 'exit',
because the behavior is undefined if 'exit' is called more than
Since close_stdout is commonly registered via 'atexit', POSIX
and the C standard both say that it should not call 'exit',
because the behavior is undefined if 'exit' is called more than
@@
-78,4
+80,7
@@
close_stdout (void)
_exit (exit_failure);
}
_exit (exit_failure);
}
+
+ if (close_stream (stderr) != 0)
+ _exit (exit_failure);
}
}