From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, T_SCC_BODY_TEXT_LINE shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 7977E1F518 for ; Wed, 5 Jun 2024 20:03:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1717617803; bh=NQXPe6j67Co8gpF4FgVe1huLhU9tBQzxFw3frjUcGhQ=; h=From:To:Subject:Date:From; b=XqztmL3KaCjkqH2xp0fJA2XtEbbi+bvyB6GkEJG9oEWK3YFt0RojomAuY3956Hdd5 qcgMs+HqYIjz5ZM58ntvy35O1VzVCJazuw7ejvSO6g7sutbrBH89K+0PENc9uGsENs sPAy2vrnCBg2uJ58iUSNEkkFcPwwb/yTOXiUPCXQ= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] searchview: avoid uninitialized vals in %rmap_inc Date: Wed, 5 Jun 2024 20:03:23 +0000 Message-ID: <20240605200323.1418141-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: 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 9919e25c..9ce1b1ee 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; }