]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(close_stdout_wrapper): Likewise.
authorJim Meyering <jim@meyering.net>
Sat, 9 Apr 2005 16:29:29 +0000 (16:29 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 9 Apr 2005 16:29:29 +0000 (16:29 +0000)
Don't close STDOUT_FILENO explicitly; close_stdout does it.

src/cat.c

index 99064cabe69480a49a93a3d3a07d13ebfdd9b727..2d98e10999bd5f2927781f1380816328900be391 100644 (file)
--- a/src/cat.c
+++ b/src/cat.c
@@ -488,17 +488,6 @@ cat (
     }
 }
 
-/* This is gross, but necessary, because of the way close_stdout
-   works and because this program closes STDOUT_FILENO directly.  */
-static void (*closeout_func) (void) = close_stdout;
-
-static void
-close_stdout_wrapper (void)
-{
-  if (closeout_func)
-    (*closeout_func) ();
-}
-
 int
 main (int argc, char **argv)
 {
@@ -574,7 +563,7 @@ main (int argc, char **argv)
 
   /* Arrange to close stdout if we exit via the
      case_GETOPT_HELP_CHAR or case_GETOPT_VERSION_CHAR code.  */
-  atexit (close_stdout_wrapper);
+  atexit (close_stdout);
 
   /* Parse command line options.  */
 
@@ -648,9 +637,6 @@ main (int argc, char **argv)
        }
     }
 
-  /* Don't close stdout on exit from here on.  */
-  closeout_func = NULL;
-
   /* Get device, i-node number, and optimal blocksize of output.  */
 
   if (fstat (STDOUT_FILENO, &stat_buf) < 0)
@@ -852,8 +838,5 @@ main (int argc, char **argv)
   if (have_read_stdin && close (STDIN_FILENO) < 0)
     error (EXIT_FAILURE, errno, _("closing standard input"));
 
-  if (close (STDOUT_FILENO) < 0)
-    error (EXIT_FAILURE, errno, _("closing standard output"));
-
   exit (ok ? EXIT_SUCCESS : EXIT_FAILURE);
 }