platform/upstream/coreutils.git
19 years agonohup now exits with status 127 (not 1) when given an invalid option.
Paul Eggert [Sat, 23 Apr 2005 06:01:50 +0000 (06:01 +0000)]
nohup now exits with status 127 (not 1) when given an invalid option.

19 years ago(main): If getopt fails, exit with status 127, not status 1.
Paul Eggert [Sat, 23 Apr 2005 05:57:33 +0000 (05:57 +0000)]
(main): If getopt fails, exit with status 127, not status 1.

19 years ago* src/nice.c (main): Report proper program name when getopt finds trouble.
Paul Eggert [Sat, 23 Apr 2005 05:41:16 +0000 (05:41 +0000)]
* src/nice.c (main): Report proper program name when getopt finds trouble.

19 years ago(main): Report proper program name when getopt finds trouble.
Paul Eggert [Sat, 23 Apr 2005 05:39:55 +0000 (05:39 +0000)]
(main): Report proper program name when getopt finds trouble.

19 years agoTest for "mkdir -m =+x dir" bug.
Paul Eggert [Fri, 22 Apr 2005 23:54:05 +0000 (23:54 +0000)]
Test for "mkdir -m =+x dir" bug.

19 years ago(main): Compile mode with MODE_MASK_ALL and initial umask.
Paul Eggert [Fri, 22 Apr 2005 23:53:33 +0000 (23:53 +0000)]
(main): Compile mode with MODE_MASK_ALL and initial umask.

19 years ago(main): Compile mode with MODE_MASK_ALL and initial umask.
Paul Eggert [Fri, 22 Apr 2005 23:53:13 +0000 (23:53 +0000)]
(main): Compile mode with MODE_MASK_ALL and initial umask.

19 years ago(main): Compile mode with MODE_MASK_ALL and initial umask.
Paul Eggert [Fri, 22 Apr 2005 23:52:35 +0000 (23:52 +0000)]
(main): Compile mode with MODE_MASK_ALL and initial umask.

19 years agoFix bug with "mkdir -m =+x dir"; the umask was being ignored
Paul Eggert [Fri, 22 Apr 2005 23:52:05 +0000 (23:52 +0000)]
Fix bug with "mkdir -m =+x dir"; the umask was being ignored
when the "+x" was being evaluated.

19 years ago"mkdir -m =+x dir" no longer ignores the umask when evaluating "+x",
Paul Eggert [Fri, 22 Apr 2005 23:51:34 +0000 (23:51 +0000)]
"mkdir -m =+x dir" no longer ignores the umask when evaluating "+x",
and similarly for mkfifo and mknod.

19 years agoRegenerate.
Paul Eggert [Thu, 21 Apr 2005 00:34:47 +0000 (00:34 +0000)]
Regenerate.

19 years agoPort test cases to Microsoft-Windows-related environments,
Paul Eggert [Thu, 21 Apr 2005 00:30:51 +0000 (00:30 +0000)]
Port test cases to Microsoft-Windows-related environments,
following suggestions from Eric Blake.

19 years agoUndo previous change.
Paul Eggert [Thu, 21 Apr 2005 00:30:35 +0000 (00:30 +0000)]
Undo previous change.
(sig): New var.  Use it insted of "trap '' CHLD".
Append $EXEEXT to executable name.

19 years agoUndo previous change.
Paul Eggert [Thu, 21 Apr 2005 00:30:13 +0000 (00:30 +0000)]
Undo previous change.
(dd, dd2): New vars, which use $EXEEXT.  All uses of dd and dd2 changed.

19 years ago(TESTS_ENVIRONMENT): Add EXEEXT.
Paul Eggert [Thu, 21 Apr 2005 00:29:50 +0000 (00:29 +0000)]
(TESTS_ENVIRONMENT): Add EXEEXT.

19 years agoFetish.pm renamed to Coreutils.pm.
Paul Eggert [Wed, 20 Apr 2005 07:58:09 +0000 (07:58 +0000)]
Fetish.pm renamed to Coreutils.pm.

19 years ago"fetish" -> "coreutils" in more places.
Paul Eggert [Wed, 20 Apr 2005 07:57:27 +0000 (07:57 +0000)]
"fetish" -> "coreutils" in more places.

19 years agoRenamed Fetish package to Coreutils.
Paul Eggert [Wed, 20 Apr 2005 07:54:54 +0000 (07:54 +0000)]
Renamed Fetish package to Coreutils.

19 years ago(EXTRA_DIST): Add Coreutils.pm and remove Fetish.pm.
Paul Eggert [Wed, 20 Apr 2005 07:53:53 +0000 (07:53 +0000)]
(EXTRA_DIST): Add Coreutils.pm and remove Fetish.pm.

19 years ago(package Coreutils): Renamed from package Fetish.
Paul Eggert [Wed, 20 Apr 2005 07:53:09 +0000 (07:53 +0000)]
(package Coreutils): Renamed from package Fetish.

19 years ago* tests/mv/setup (dot_mount_point): Use stat -L.
Paul Eggert [Tue, 19 Apr 2005 07:36:59 +0000 (07:36 +0000)]
* tests/mv/setup (dot_mount_point): Use stat -L.

19 years ago(dot_mount_point): Use stat -L, in case the
Paul Eggert [Tue, 19 Apr 2005 07:36:39 +0000 (07:36 +0000)]
(dot_mount_point): Use stat -L, in case the
directory is actually a symbolic link.

19 years ago* tests/mv/mv-special-1: Use test -p to test for fifos.
Paul Eggert [Tue, 19 Apr 2005 07:26:46 +0000 (07:26 +0000)]
* tests/mv/mv-special-1: Use test -p to test for fifos.

19 years agoUse test -p to test for fifos, rather
Paul Eggert [Tue, 19 Apr 2005 07:26:18 +0000 (07:26 +0000)]
Use test -p to test for fifos, rather
than the (incorrect) test -f and the (inadequate) ls.  ls is
inadequate because on some hosts a buggy mv will create a file of
the wrong type (problem reported by Eric Blake).  Skip this test
if test -p doesn't work.

19 years ago* tests/chmod/setgid: Use numeric group ids, not symbolic group names.
Paul Eggert [Tue, 19 Apr 2005 07:08:28 +0000 (07:08 +0000)]
* tests/chmod/setgid: Use numeric group ids, not symbolic group names.

19 years agoUse numeric group ids, not symbolic group names,
Paul Eggert [Tue, 19 Apr 2005 07:08:08 +0000 (07:08 +0000)]
Use numeric group ids, not symbolic group names,
since the latter can have shell metacharacters in them (e.g., spaces).

19 years agoRegenerate.
Paul Eggert [Mon, 18 Apr 2005 23:38:19 +0000 (23:38 +0000)]
Regenerate.

19 years agofetish -> coreutils in some more places
Paul Eggert [Mon, 18 Apr 2005 23:33:55 +0000 (23:33 +0000)]
fetish -> coreutils in some more places

19 years ago(FETISH_GROUP): Renamed from COREUTILS_GROUP.
Paul Eggert [Mon, 18 Apr 2005 23:33:29 +0000 (23:33 +0000)]
(FETISH_GROUP): Renamed from COREUTILS_GROUP.

19 years ago(COREUTILS_GROUPS): Renamed from FETISH_GROUPS.
Paul Eggert [Mon, 18 Apr 2005 23:33:10 +0000 (23:33 +0000)]
(COREUTILS_GROUPS): Renamed from FETISH_GROUPS.

19 years ago(LDADD, $(PROGRAMS)): fetish -> coreutils.
Paul Eggert [Mon, 18 Apr 2005 23:32:49 +0000 (23:32 +0000)]
(LDADD, $(PROGRAMS)): fetish -> coreutils.

19 years ago(gl_FUNC_RMDIR_NOTEMPTY): Renamed from
Paul Eggert [Mon, 18 Apr 2005 23:32:29 +0000 (23:32 +0000)]
(gl_FUNC_RMDIR_NOTEMPTY): Renamed from
fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
variable prefixes.

19 years ago(gl_MACROS): Use gl_ or coreutils_ rather than fetish_ for prefixes.
Paul Eggert [Mon, 18 Apr 2005 23:32:12 +0000 (23:32 +0000)]
(gl_MACROS): Use gl_ or coreutils_ rather than fetish_ for prefixes.

19 years ago(gl_CLOCK_TIME): Use gl_ rather than fetish_ for
Paul Eggert [Mon, 18 Apr 2005 23:31:42 +0000 (23:31 +0000)]
(gl_CLOCK_TIME): Use gl_ rather than fetish_ for
variable names.

19 years agofetish->coreutils in compilation command.
Paul Eggert [Mon, 18 Apr 2005 23:31:22 +0000 (23:31 +0000)]
fetish->coreutils in compilation command.

19 years agocoreutils->fetish in comment.
Paul Eggert [Mon, 18 Apr 2005 23:30:55 +0000 (23:30 +0000)]
coreutils->fetish in comment.

19 years ago(noinst_LIBRARIES): fetish -> coreutils.
Paul Eggert [Mon, 18 Apr 2005 23:30:41 +0000 (23:30 +0000)]
(noinst_LIBRARIES): fetish -> coreutils.
(libcoreutils_a_SOURCES): Renamed from libfetish_a_SOURCES.
All uses changed.
(libcoreutils_a_LIBADD): Renamed from libfetish_a_LIBADD.
All uses changed.
(libcoreutils_a_DEPENDENCIES): Renamed from libfetish_a_DEPENDENCIES.
All uses changed.

19 years ago(emit_upload_commands): Remove fetish.sf.net.
Paul Eggert [Mon, 18 Apr 2005 23:30:19 +0000 (23:30 +0000)]
(emit_upload_commands): Remove fetish.sf.net.

19 years ago(ftp): Remove fetish.sf.net.
Paul Eggert [Mon, 18 Apr 2005 23:29:51 +0000 (23:29 +0000)]
(ftp): Remove fetish.sf.net.

19 years agoFix typo in comment.
Paul Eggert [Mon, 18 Apr 2005 18:48:22 +0000 (18:48 +0000)]
Fix typo in comment.

19 years agoUse "cat", not "test", to test for
Paul Eggert [Mon, 18 Apr 2005 18:37:36 +0000 (18:37 +0000)]
Use "cat", not "test", to test for
../../src/dd.  Problem reported by Eric Blake.

19 years ago*** empty log message ***
Jim Meyering [Mon, 18 Apr 2005 07:05:11 +0000 (07:05 +0000)]
*** empty log message ***

19 years agoDon't include stat-macros.h directly. system.h does that.
Jim Meyering [Mon, 18 Apr 2005 07:03:50 +0000 (07:03 +0000)]
Don't include stat-macros.h directly.  system.h does that.

19 years agoWork around a couple of "make check" failures reported for Cygwin
Paul Eggert [Mon, 18 Apr 2005 06:36:45 +0000 (06:36 +0000)]
Work around a couple of "make check" failures reported for Cygwin
and ash by Eric Blake.

19 years agoSkip this test if "trap '' CHLD" doesn't work.
Paul Eggert [Mon, 18 Apr 2005 06:35:22 +0000 (06:35 +0000)]
Skip this test if "trap '' CHLD" doesn't work.

19 years agoSkip this test if ../../src/dd isn't readable.
Paul Eggert [Mon, 18 Apr 2005 06:35:06 +0000 (06:35 +0000)]
Skip this test if ../../src/dd isn't readable.

19 years ago*** empty log message ***
Jim Meyering [Sat, 16 Apr 2005 06:38:22 +0000 (06:38 +0000)]
*** empty log message ***

19 years ago(S_TYPEISSHM): Remove definition.
Jim Meyering [Sat, 16 Apr 2005 06:38:20 +0000 (06:38 +0000)]
(S_TYPEISSHM): Remove definition.
Get the definition by including "stat-macros.h", instead.

19 years agoFix test suite problems reported by Eric Blake on Cygwin.
Paul Eggert [Thu, 14 Apr 2005 20:35:59 +0000 (20:35 +0000)]
Fix test suite problems reported by Eric Blake on Cygwin.

19 years ago(dot_mount_point): Use stat rather than df, as
Paul Eggert [Thu, 14 Apr 2005 20:35:34 +0000 (20:35 +0000)]
(dot_mount_point): Use stat rather than df, as
it's more reliable.
(other_partition_tmpdir): Remove df from name as that would be
misleading now.

19 years agoIgnore chatter about when files are removed,
Paul Eggert [Thu, 14 Apr 2005 20:35:14 +0000 (20:35 +0000)]
Ignore chatter about when files are removed,
since POSIX doesn't require rename to fail across file systems.

19 years ago*** empty log message ***
Jim Meyering [Thu, 14 Apr 2005 12:13:26 +0000 (12:13 +0000)]
*** empty log message ***

19 years agoCorrect typo, fchmod -> fchown, in a comment.
Jim Meyering [Thu, 14 Apr 2005 12:09:00 +0000 (12:09 +0000)]
Correct typo, fchmod -> fchown, in a comment.

19 years ago* getdate.y (zone): Allow relunit_snumber after tZONE.
Paul Eggert [Wed, 13 Apr 2005 18:42:13 +0000 (18:42 +0000)]
* getdate.y (zone): Allow relunit_snumber after tZONE.

19 years ago(zone): Allow relunit_snumber after tZONE, so
Paul Eggert [Wed, 13 Apr 2005 18:42:00 +0000 (18:42 +0000)]
(zone): Allow relunit_snumber after tZONE, so
that "UTC +1 second" continues to work.  Problem reported
by Dmitry V. Levin.
(relunit_snumber): New rule.
(relunit): Use it.

19 years agosrc/ls.c (usage): "uid" -> "user ID".
Paul Eggert [Tue, 12 Apr 2005 07:41:42 +0000 (07:41 +0000)]
src/ls.c (usage): "uid" -> "user ID".

19 years ago(usage): uid -> user ID
Paul Eggert [Tue, 12 Apr 2005 07:39:38 +0000 (07:39 +0000)]
(usage): uid -> user ID

19 years ago* getdate.y: Fix problem with parsing GMT time stamps during London summers.
Paul Eggert [Tue, 12 Apr 2005 07:21:48 +0000 (07:21 +0000)]
* getdate.y: Fix problem with parsing GMT time stamps during London summers.

19 years ago(universal_time_zone_table): New constant.
Paul Eggert [Tue, 12 Apr 2005 07:21:18 +0000 (07:21 +0000)]
(universal_time_zone_table): New constant.
(time_zone_table): Remove GMT, UT, UTC entries; they're now in
universal_time_zone_table.
(lookup_zone): Prefer universal_time_zone_table to
local_time_zone_table, so that "GMT" time stamps are allowed in
London during the summer.  Problem reported by Ian Abbott.

19 years ago*** empty log message ***
Jim Meyering [Tue, 12 Apr 2005 06:47:49 +0000 (06:47 +0000)]
*** empty log message ***

19 years ago(tsort): Use "%s" as the format string, rather than a diagnostic or a file name.
Jim Meyering [Tue, 12 Apr 2005 06:47:44 +0000 (06:47 +0000)]
(tsort): Use "%s" as the format string, rather than a diagnostic or a file name.

19 years ago(compare_files): Remove declaration of unused local.
Jim Meyering [Tue, 12 Apr 2005 06:46:10 +0000 (06:46 +0000)]
(compare_files): Remove declaration of unused local.

19 years agoFor consistency, standardize on "user ID" rather than "uid".
Paul Eggert [Tue, 12 Apr 2005 05:53:02 +0000 (05:53 +0000)]
For consistency, standardize on "user ID" rather than "uid".

19 years agoReword usage, man pages to use "user ID" rather than "uid" etc.
Paul Eggert [Tue, 12 Apr 2005 05:52:37 +0000 (05:52 +0000)]
Reword usage, man pages to use "user ID" rather than "uid" etc.

19 years ago(usage, main): Use "user ID", not "UID", and similarly for "group ID".
Paul Eggert [Tue, 12 Apr 2005 05:44:47 +0000 (05:44 +0000)]
(usage, main): Use "user ID", not "UID", and similarly for "group ID".

19 years ago(usage): Use "user ID", not "UID", and similarly
Paul Eggert [Tue, 12 Apr 2005 05:44:16 +0000 (05:44 +0000)]
(usage): Use "user ID", not "UID", and similarly
for "group ID".

19 years agoReword to match coreutils.texi.
Paul Eggert [Tue, 12 Apr 2005 05:43:36 +0000 (05:43 +0000)]
Reword to match coreutils.texi.

19 years agoReword to match user manual.
Paul Eggert [Tue, 12 Apr 2005 05:43:19 +0000 (05:43 +0000)]
Reword to match user manual.

19 years agoFor consistency, standardize on "user ID" rather
Paul Eggert [Tue, 12 Apr 2005 05:42:55 +0000 (05:42 +0000)]
For consistency, standardize on "user ID" rather
than "uid" or "UID" or "user id".  Similarly for "group ID".

19 years agoRegenerate.
Paul Eggert [Mon, 11 Apr 2005 20:21:07 +0000 (20:21 +0000)]
Regenerate.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:15:45 +0000 (20:15 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:13:42 +0000 (20:13 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.

19 years agoInclude stdio_safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:13:26 +0000 (20:13 +0000)]
Include stdio_safer.h.
(check_file): Don't assume fopen cannot return stdin or stdout.

19 years ago(next_file): Don't assume fopen cannot return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:13:10 +0000 (20:13 +0000)]
(next_file): Don't assume fopen cannot return stdin.

19 years ago(have_read_stdin): Remove; no longer needed. All uses
Paul Eggert [Mon, 11 Apr 2005 20:12:51 +0000 (20:12 +0000)]
(have_read_stdin): Remove; no longer needed.  All uses
removed.
(tsort): Do not assume fopen can't return stdin.
Close stdin before returning.  All uses changed.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:12:32 +0000 (20:12 +0000)]
Include unistd-safer.h.
(touch): Use fd_safer.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:12:17 +0000 (20:12 +0000)]
Include stdio-safer.h.
(tee): Use fopen_safer.

19 years agoInclude unistd-safer.h rather than fcntl-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:12:01 +0000 (20:12 +0000)]
Include unistd-safer.h rather than fcntl-safer.h.
(recheck, tail_file): Use fd_safer rather than open_safer.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:11:45 +0000 (20:11 +0000)]
Include unistd-safer.h.
(copy_to_temp): Use fd_safer.
(tac_file): Don't assume fopen cannot return stdin.

19 years ago(bsd_sum_file, sysv_sym_file):
Paul Eggert [Mon, 11 Apr 2005 20:11:27 +0000 (20:11 +0000)]
(bsd_sum_file, sysv_sym_file):
Use same pattern as elsewhere for checking for stdin.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:11:08 +0000 (20:11 +0000)]
Include unistd-safer.h.
(cwrite): Use fd_safer.  Replace mystery constant 0666 with symbolic
version, as POSIX requires.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:10:52 +0000 (20:10 +0000)]
Include unistd-safer.h.
(create_temp_file): Use fd_safer.
(xfclose): Don't assume fileno (stdin) == STDIN_FILENO, etc.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:10:23 +0000 (20:10 +0000)]
Include unistd-safer.h.
(wipename): Use fd_safer on directory file descriptor.
(wipefile): Remove special case for /dev/fd/* on older hosts.
It didn't work in general, and wasn't documented.
Use fd_safer.

19 years ago(main): Don't assume fopen returns stdout after closing
Paul Eggert [Mon, 11 Apr 2005 20:10:00 +0000 (20:10 +0000)]
(main): Don't assume fopen returns stdout after closing
stdout.  Use freopen instead.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:09:42 +0000 (20:09 +0000)]
Include stdio-safer.h.
(open_file): Use fopen_safer.
(close_file): Don't assume fopen does not return stdin.

19 years ago(paste_serial): Don't assume fopen does not return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:09:22 +0000 (20:09 +0000)]
(paste_serial): Don't assume fopen does not return stdin.

19 years ago(check_and_close): Don't assume fopen does not return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:09:01 +0000 (20:09 +0000)]
(check_and_close): Don't assume fopen does not return stdin.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:08:30 +0000 (20:08 +0000)]
Include unistd-safer.h.
(main): Don't dup stderr to stdin or stdout by mistake.

19 years ago(digest_file, digest_check):
Paul Eggert [Mon, 11 Apr 2005 20:08:11 +0000 (20:08 +0000)]
(digest_file, digest_check):
Don't assume that fopen does not return stdin.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:07:54 +0000 (20:07 +0000)]
Include stdio-safer.h.
(main): Use fopen_safer.  Simplify the resulting code.

19 years ago(head_file): Don't assume open does not return 0.
Paul Eggert [Mon, 11 Apr 2005 20:07:37 +0000 (20:07 +0000)]
(head_file): Don't assume open does not return 0.

19 years ago(dc_parse_file): Don't assume fopen does not return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:07:22 +0000 (20:07 +0000)]
(dc_parse_file): Don't assume fopen does not return stdin.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:07:00 +0000 (20:07 +0000)]
Include stdio-safer.h.
(input_desc): Remove unnecessary static initialization.
(set_input_file): Use STDIN_FILENO, not 0.
(create_output_file): Use fopen_safer.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:06:34 +0000 (20:06 +0000)]
Include unistd-safer.h.
(copy_reg): Use fd_safer.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:06:13 +0000 (20:06 +0000)]
Include stdio-safer.h.
(compare_files): Exit right away on I/O error rather than continuing
and producing confusing output and error messages.
Return void, not int; all callers changed.
Use fopen_safer to avoid confusion with file descriptors.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:05:45 +0000 (20:05 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.

19 years ago(gl_PREREQ): Don't require gl_FCNTL_SAFER.
Paul Eggert [Mon, 11 Apr 2005 20:05:34 +0000 (20:05 +0000)]
(gl_PREREQ): Don't require gl_FCNTL_SAFER.

19 years ago(gl_UNISTD_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
Paul Eggert [Mon, 11 Apr 2005 20:05:20 +0000 (20:05 +0000)]
(gl_UNISTD_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
Invoke gl_PREREQ_FD_SAFER.
(gl_PREREQ_FD_SAFER): New macro.

19 years ago(gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
Paul Eggert [Mon, 11 Apr 2005 20:04:57 +0000 (20:04 +0000)]
(gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:04:29 +0000 (20:04 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.