From 9e0c2886493863b4bc6483ce0a3bfd3d599c8c87 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 29 Jul 2020 08:43:09 +0000 Subject: emergency: create full path to PI_EMERGENCY It's possible for ~/.public-inbox/ to not exist if PI_CONFIG points to an alternate location. Only noticed from the previous patch fixing t/init.t behavior. --- lib/PublicInbox/Emergency.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/PublicInbox') diff --git a/lib/PublicInbox/Emergency.pm b/lib/PublicInbox/Emergency.pm index 02900bb1..b705e776 100644 --- a/lib/PublicInbox/Emergency.pm +++ b/lib/PublicInbox/Emergency.pm @@ -12,11 +12,13 @@ use IO::Handle; # ->flush, ->autoflush sub new { my ($class, $dir) = @_; - -d $dir or mkdir($dir) or die "failed to mkdir($dir): $!\n"; foreach (qw(new tmp cur)) { my $d = "$dir/$_"; next if -d $d; - -d $d or mkdir($d) or die "failed to mkdir($d): $!\n"; + require File::Path; + if (!File::Path::mkpath($d) && !-d $d) { + die "failed to mkpath($d): $!\n"; + } } bless { dir => $dir, files => {}, t => 0, cnt => 0, pid => $$ }, $class; } -- cgit v1.2.3-24-ge0c7