]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
searchview: avoid uninitialized vals in %rmap_inc
authorEric Wong <e@80x24.org>
Wed, 5 Jun 2024 20:03:23 +0000 (20:03 +0000)
committerEric Wong <e@80x24.org>
Wed, 5 Jun 2024 22:20:09 +0000 (22:20 +0000)
Modules (e.g. `PublicInbox::Gcf2') may have an undef value in
the %rmap_inc hash table if an attempt has been made to load it
and failed due to a missing libgit2-dev dependency.  Avoid using
it in interpolation to avoid warnings.

lib/PublicInbox/SearchView.pm

index 9919e25cb5cd6ce85ebe3f1c5c25d66a991041b1..9ce1b1eed8f7572ecb97cf63480274b149b8ff83 100644 (file)
@@ -154,9 +154,15 @@ sub path2inc ($) {
        if (my $short = $rmap_inc{$full}) {
                return $short;
        } elsif (!scalar(keys %rmap_inc) && -e $full) {
-               %rmap_inc = map {; "$INC{$_}" => $_ } keys %INC;
+               # n.b. $INC{'PublicInbox::Gcf2'} is undef if libgit2-dev
+               # doesn't exist
+               my $f;
+               %rmap_inc = map {;
+                       $f = $INC{$_};
+                       defined $f ? ($f, $_) : ();
+               } keys %INC;
                # fall back to basename as last resort
-               $rmap_inc{$full} // (split('/', $full))[-1];
+               $rmap_inc{$full} // (split(m'/', $full))[-1];
        } else {
                $full;
        }