From 4db74a7754fcf8a416a58cc03b056833ecd272c8 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 5 Jun 2024 20:03:23 +0000 Subject: [PATCH] searchview: avoid uninitialized vals in %rmap_inc 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 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/SearchView.pm b/lib/PublicInbox/SearchView.pm index 9919e25cb..9ce1b1eed 100644 --- a/lib/PublicInbox/SearchView.pm +++ b/lib/PublicInbox/SearchView.pm @@ -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; } -- 2.47.2