From: Jim Meyering Date: Sun, 27 Mar 2005 08:40:30 +0000 (+0000) Subject: Use the same global destructor as dcgen. X-Git-Tag: CPPI-1_12~1209 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ae95bdc5e77ccb2e6df1a40e6b7363b8fd5a722f;p=thirdparty%2Fcoreutils.git Use the same global destructor as dcgen. --- diff --git a/src/wheel-gen.pl b/src/wheel-gen.pl index be03a6e3b0..ec4dd61984 100755 --- a/src/wheel-gen.pl +++ b/src/wheel-gen.pl @@ -1,19 +1,20 @@ #!/usr/bin/perl -w -# -*- perl -*- eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' - if 0; + if 0; use strict; -(my $program_name = $0) =~ s|.*/||; +(my $ME = $0) =~ s|.*/||; +# A global destructor to close standard output with error checking. sub END { - use POSIX qw (_exit); - # This is required if the code might send any output to stdout - # E.g., even --version or --help. So it's best to do it unconditionally. + defined fileno STDOUT + or return; close STDOUT - or (warn "$program_name: closing standard output: $!\n"), _exit (1); + and return; + warn "$ME: closing standard output: $!\n"; + $? ||= 1; } sub is_prime ($) @@ -41,7 +42,7 @@ sub is_prime ($) { @ARGV == 1 - or die "$program_name: missing argument\n"; + or die "$ME: missing argument\n"; my $wheel_size = $ARGV[0];