From e0066f045f37b413b3fab1aca855d5022e57351f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 19 Sep 2025 01:03:12 +0000 Subject: [PATCH] compact: fix uninitialized var for basic inboxes While it currently makes no sense to compact basic inboxes with no Xapian index, it shouldn't warn on uninitialized variables, either. --- lib/PublicInbox/Xapcmd.pm | 8 +++++--- t/indexlevels-mirror.t | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/PublicInbox/Xapcmd.pm b/lib/PublicInbox/Xapcmd.pm index 02b16a045..7de71ee39 100644 --- a/lib/PublicInbox/Xapcmd.pm +++ b/lib/PublicInbox/Xapcmd.pm @@ -35,9 +35,11 @@ sub commit_changes ($$$$) { my ($y) = ($b =~ m!/([0-9]+)/*\z!); ($y // -1) <=> ($x // -1) # we may have non-shards } keys %$tmp; - - my ($dname) = ($order[0] =~ m!(.*/)[^/]+/*\z!); - my $mode = (stat($dname))[2]; + my ($xpfx, $mode); + if (@order) { + ($xpfx) = ($order[0] =~ m!(.*/)[^/]+/*\z!); + $mode = (stat($xpfx))[2]; + } for my $old (@order) { next if $old eq ''; # no invalid paths my $newdir = $tmp->{$old}; diff --git a/t/indexlevels-mirror.t b/t/indexlevels-mirror.t index cf813d088..ba1c27700 100644 --- a/t/indexlevels-mirror.t +++ b/t/indexlevels-mirror.t @@ -38,6 +38,7 @@ my $import_index_incremental = sub { $ibx->{inboxdir}, "-L$level"); push @cmd, '-c' if have_xapian_compact; ok(run_script(\@cmd, undef, { 2 => \$err }), 'index master'); + unlike $err, qr/Use of uninitialized/, 'no uninitialized warnings'; my $ro_master = PublicInbox::Inbox->new({ inboxdir => $ibx->{inboxdir}, indexlevel => $level @@ -166,6 +167,8 @@ my $import_index_incremental = sub { my $cmd = [ qw(-compact), $mirror ]; ok(run_script($cmd, undef, { 2 => \$err}), "compact $level") or diag $err; + unlike $err, qr/Use of uninitialized/, + 'no uninitialized warnings'; } }; -- 2.47.3