From ae95bdc5e77ccb2e6df1a40e6b7363b8fd5a722f Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 27 Mar 2005 08:40:30 +0000 Subject: Use the same global destructor as dcgen. --- src/wheel-gen.pl | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/wheel-gen.pl b/src/wheel-gen.pl index be03a6e3b..ec4dd6198 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]; -- cgit v1.2.3-54-g00ecf