]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
treewide: use \*STD(IN|OUT|ERR) consistently
authorEric Wong <e@80x24.org>
Thu, 6 Jun 2024 07:44:12 +0000 (07:44 +0000)
committerEric Wong <e@80x24.org>
Fri, 7 Jun 2024 00:39:45 +0000 (00:39 +0000)
Referencing the {IO} slot may not always be populated or work
(e.g. with `-t' filetest) if there's no IO handle.  Using merely
using `\*' is shorter than typing out `{GLOB}', so just use the
shortest form consistently.

This may fix occasional and difficult-to-reproduce failures from
redirecting STDERR in t/imap_searchqp.t

lib/PublicInbox/Admin.pm
lib/PublicInbox/HTTP.pm
lib/PublicInbox/LEI.pm
lib/PublicInbox/TestCommon.pm
lib/PublicInbox/WwwCoderepo.pm
script/lei
script/public-inbox-clone
script/public-inbox-fetch

index a1b1fc079f7ec4517d5bc328d3d7b53e981d06c5..a2045b37dea048a89f8febc210708a1cdefc8a4f 100644 (file)
@@ -317,7 +317,7 @@ sub progress_prepare ($;$) {
                $opt->{1} = $null; # suitable for spawn() redirect
        } else {
                $opt->{verbose} ||= 1;
-               $dst //= *STDERR{GLOB};
+               $dst //= \*STDERR;
                $opt->{-progress} = sub { print $dst '# ', @_ };
        }
 }
index 7162732eca22fe8390d1285437fa665c17782838..b7728bd252136b604725221f34d086826e23f9eb 100644 (file)
@@ -47,7 +47,7 @@ open(my $null_io, '<', '/dev/null') or die "open /dev/null: $!";
 {
        my @n = stat($null_io) or die "stat(/dev/null): $!";
        my @i = stat(STDIN) or die "stat(STDIN): $!";
-       $null_io = *STDIN{IO} if "@n[0, 1]" eq "@i[0, 1]";
+       $null_io = \*STDIN if "@n[0, 1]" eq "@i[0, 1]";
 }
 
 my $http_date;
index e9a0de6c8d6dc1bbd1af5beb1fdeaf7ac060bd78..309d290da4314808a23a6597c7b303ba2a945d1e 100644 (file)
@@ -506,12 +506,12 @@ sub x_it ($$) {
 
 sub err ($;@) {
        my $self = shift;
-       my $err = $self->{2} // ($self->{pgr} // [])->[2] // *STDERR{GLOB};
+       my $err = $self->{2} // ($self->{pgr} // [])->[2] // \*STDERR;
        my @eor = (substr($_[-1]//'', -1, 1) eq "\n" ? () : ("\n"));
        print $err @_, @eor and return;
        my $old_err = delete $self->{2};
        $old_err->close if $! == EPIPE && $old_err;
-       $err = $self->{2} = ($self->{pgr} // [])->[2] // *STDERR{GLOB};
+       $err = $self->{2} = ($self->{pgr} // [])->[2] // \*STDERR;
        print $err @_, @eor or print STDERR @_, @eor;
 }
 
@@ -1556,7 +1556,7 @@ sub sto_barrier_request {
                eval { $lei->{sto}->wq_do('schedule_commit', $n) };
        } else {
                my $s = ($wq ? $wq->{lei_sock} : undef) // $lei->{sock};
-               my $errfh = $lei->{2} // *STDERR{GLOB};
+               my $errfh = $lei->{2} // \*STDERR;
                my @io = $s ? ($errfh, $s) : ($errfh);
                eval { $lei->{sto}->wq_io_do('barrier', \@io, 1) };
        }
index 3a67ab541f4c5ad3c2e87dcc64d39f69eb0f40aa..a01949a3745ece5d1ee572172ebb1e322c239d1b 100644 (file)
@@ -281,8 +281,7 @@ sub key2script ($) {
        'blib/script/'.$key;
 }
 
-my @io_mode = ([ *STDIN{IO}, '+<&' ], [ *STDOUT{IO}, '+>&' ],
-               [ *STDERR{IO}, '+>&' ]);
+my @io_mode = ([ \*STDIN, '+<&' ], [ \*STDOUT, '+>&' ], [ \*STDERR, '+>&' ]);
 
 sub _prepare_redirects ($) {
        my ($fhref) = @_;
index 8587f530206cb2a95aa5d103c06c3dace58eb5b4..8d82528496c70c030856a2bd39e87086d247b725 100644 (file)
@@ -87,7 +87,7 @@ sub new {
        my @s = stat(STDIN) or die "stat(STDIN): $!";
        if ("@l[0, 1]" eq "@s[0, 1]") {
                my $f = fcntl(STDIN, F_GETFL, 0);
-               $self->{log_fh} = *STDIN{IO} if $f & O_RDWR;
+               $self->{log_fh} = \*STDIN if $f & O_RDWR;
        }
        $self;
 }
index 087afc33014dd062e9f3472a56a63714d7a8c5db..a5aef9568c33b918d58b2d33611a4a6804fcf11e 100755 (executable)
@@ -37,7 +37,7 @@ my $exec_cmd = sub {
        my ($fds, $argc, @argv) = @_;
        my $parent = $$;
        require POSIX;
-       my @old = (*STDIN{IO}, *STDOUT{IO}, *STDERR{IO});
+       my @old = (\*STDIN, \*STDOUT, \*STDERR);
        my @rdr;
        for my $fd (@$fds) {
                open(my $newfh, '+<&=', $fd) or die "open +<&=$fd: $!";
index c3e644858d2ac9f77e62cf46ecc3a170003c58c0..5ecf11ae7d0926cfd06d63df1ede5008761ff71e 100755 (executable)
@@ -54,7 +54,7 @@ require PublicInbox::LeiMirror;
 $url = PublicInbox::LeiExternal::ext_canonicalize($url);
 my $lei = bless {
        env => \%ENV, opt => $opt, cmd => 'public-inbox-clone',
-       0 => *STDIN{GLOB}, 2 => *STDERR{GLOB},
+       0 => \*STDIN, 2 => \*STDERR,
 }, 'PublicInbox::LEI';
 open $lei->{1}, '+<&=', 1 or die "dup: $!";
 open $lei->{3}, '.' or die "open . $!";
index 6fd15328a96e5783e9ce1a466db914b38da40034..1ae3117140e5623ca160a311deb8cb41d9b3fc89 100755 (executable)
@@ -33,7 +33,7 @@ $SIG{PIPE} = 'IGNORE';
 
 my $lei = bless {
        env => \%ENV, opt => $opt, cmd => 'public-inbox-fetch',
-       0 => *STDIN{GLOB}, 1 => *STDOUT{GLOB}, 2 => *STDERR{GLOB},
+       0 => \*STDIN, 1 => \*STDOUT, 2 => \*STDERR,
 }, 'PublicInbox::LEI';
 PublicInbox::Fetch->do_fetch($lei, '.');
 exit(($lei->{child_error} // 0) >> 8);