]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WwwStream.pm
www*stream: favor \&close instead of *close
[public-inbox.git] / lib / PublicInbox / WwwStream.pm
index 06c8f7d2c65ff87e16a682a466b6f5062446063b..ef5897b26a2f8cc7aeadec7d7ba7ddafef41a282 100644 (file)
@@ -9,7 +9,7 @@
 package PublicInbox::WwwStream;
 use strict;
 use warnings;
-use PublicInbox::Hval qw(ascii_html);
+use PublicInbox::Hval qw(ascii_html prurl);
 our $TOR_URL = 'https://www.torproject.org/';
 our $CODE_URL = 'https://public-inbox.org/public-inbox.git';
 
@@ -23,7 +23,7 @@ sub new {
        chop $base_url; # no trailing slash for clone
        bless {
                nr => 0,
-               cb => $cb || *close,
+               cb => $cb || \&close,
                ctx => $ctx,
                base_url => $base_url,
        }, $class;
@@ -78,7 +78,7 @@ sub _html_top ($) {
 
 sub code_footer ($) {
        my ($env) = @_;
-       my $u = PublicInbox::Hval::prurl($env, $CODE_URL);
+       my $u = prurl($env, $CODE_URL);
        qq(AGPL code for this site: git clone <a\nhref="$u">$u</a>)
 }
 
@@ -89,29 +89,27 @@ sub _html_end {
        my $ibx = $ctx->{-inbox};
        my $desc = ascii_html($ibx->description);
 
-       my (%seen, @urls);
+       my @urls;
        my $http = $self->{base_url};
        my $max = $ibx->max_git_epoch;
        my $dir = (split(m!/!, $http))[-1];
+       my %seen = ($http => 1);
        if (defined($max)) { # v2
-               $seen{$http} = 1;
                for my $i (0..$max) {
                        # old parts my be deleted:
-                       -d "$ibx->{mainrepo}/git/$i.git" or next;
+                       -d "$ibx->{inboxdir}/git/$i.git" or next;
                        my $url = "$http/$i";
                        $seen{$url} = 1;
                        push @urls, "$url $dir/git/$i.git";
                }
        } else { # v1
-               $seen{$http} = 1;
                push @urls, $http;
        }
 
        # FIXME: epoch splits can be different in other repositories,
        # use the "cloneurl" file as-is for now:
        foreach my $u (@{$ibx->cloneurl}) {
-               next if $seen{$u};
-               $seen{$u} = 1;
+               next if $seen{$u}++;
                push @urls, $u =~ /\Ahttps?:/ ? qq(<a\nhref="$u">$u</a>) : $u;
        }