summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/printenv.c6
-rw-r--r--src/tty.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/printenv.c b/src/printenv.c
index 6ad9692d3..1c6c028f0 100644
--- a/src/printenv.c
+++ b/src/printenv.c
@@ -70,7 +70,6 @@ If no environment VARIABLE specified, print them all.\n\
"),
program_name, program_name);
puts (_("\nReport bugs to <bug-sh-utils@gnu.org>."));
- close_stdout_status (2);
}
exit (status);
}
@@ -90,6 +89,9 @@ main (int argc, char **argv)
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
+ close_stdout_set_status (2);
+ atexit (close_stdout);
+
parse_long_options (argc, argv, PROGRAM_NAME, GNU_PACKAGE, VERSION,
AUTHORS, usage);
@@ -133,7 +135,5 @@ main (int argc, char **argv)
exit_status = (matches != argc - optind);
}
- close_stdout_status (2);
-
exit (exit_status);
}
diff --git a/src/tty.c b/src/tty.c
index 04fce48e8..145f46dd0 100644
--- a/src/tty.c
+++ b/src/tty.c
@@ -69,7 +69,6 @@ Print the file name of the terminal connected to standard input.\n\
"));
puts (_("\nReport bugs to <bug-sh-utils@gnu.org>."));
}
- close_stdout_status (3);
exit (status);
}
@@ -84,6 +83,9 @@ main (int argc, char **argv)
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
+ close_stdout_set_status (3);
+ atexit (close_stdout);
+
silent = 0;
while ((optc = getopt_long (argc, argv, "s", longopts, NULL)) != -1)
@@ -116,8 +118,6 @@ main (int argc, char **argv)
puts (tty);
else
puts (_("not a tty"));
-
- close_stdout_status (3);
}
exit (isatty (0) ? 0 : 1);