From 37dfb2c0d3c60277567325c15d5695b2dee03ad1 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 26 Mar 2021 06:29:36 +0200 Subject: [PATCH] lei: _lei_store: use default even if unconfigured Perhaps leistore.dir doesn't need to have a config file entry if we're using the default location. v2: "account for unconfigured leistore.dir" (on reuse) --- lib/PublicInbox/LEI.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index d534f1d0..99e180f6 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -701,8 +701,9 @@ sub _lei_cfg ($;$) { bless $cfg, 'PublicInbox::Config'; $cfg->{-st} = $cur_st; $cfg->{'-f'} = $f; - if ($sto && File::Spec->canonpath($sto_dir) eq - File::Spec->canonpath($cfg->{'leistore.dir'})) { + if ($sto && File::Spec->canonpath($sto_dir // store_path($self)) + eq File::Spec->canonpath($cfg->{'leistore.dir'} // + store_path($self))) { $cfg->{-lei_store} = $sto; } if (scalar(keys %PATH2CFG) > 5) { @@ -719,8 +720,8 @@ sub _lei_store ($;$) { my $cfg = _lei_cfg($self, $creat); $cfg->{-lei_store} //= do { require PublicInbox::LeiStore; - my $dir = $cfg->{'leistore.dir'}; - $dir //= $creat ? store_path($self) : return; + my $dir = $cfg->{'leistore.dir'} // store_path($self); + return unless $creat || -d $dir; PublicInbox::LeiStore->new($dir, { creat => $creat }); }; } -- 2.48.1