commit 6fd928d3ad33d035b79e6b65bf4f9f97accde929 from: Omar Polo date: Sat Jun 17 13:43:54 2023 UTC use File::Path' make_path instead of rolling my own again from volker' plage.pl, thanks! commit - 84eda8d652f10bd982e914388554b853a7ac299b commit + 6fd928d3ad33d035b79e6b65bf4f9f97accde929 blob - b9232a74e7c509dad50182874652b5c712b54c87 blob + 3307f86adfd9bd1309ae725d7a463439d4d802e2 --- plass +++ plass @@ -23,6 +23,7 @@ use open ":std", ":encoding(UTF-8)"; use Getopt::Long qw(:config bundling require_order); use File::Basename; use File::Find; +use File::Path qw(make_path); use File::Temp qw(tempfile); my $store = $ENV{'PLASS_STORE'} // $ENV{'HOME'}.'/.password-store'; @@ -72,14 +73,6 @@ sub name2file { return $f; } -sub mkdirs { - my $dir = shift; - my $parent = dirname $dir; - mkdirs($parent) unless -d $parent || $parent eq '/'; - mkdir $dir or die "mkdir $dir: $!" - unless -d $dir; -} - sub edit { my ($editor, $fh, $tempfile, $epath) = @_; @@ -237,7 +230,7 @@ sub cmd_mv { die "source password doesn't exist" unless -f $pa; die "target password exists" if -f $pb; - mkdirs(dirname $pb); + make_path(dirname $pb); rename $pa, $pb or die "can't rename $a to $b: $!"; got_rm $pa; @@ -270,7 +263,7 @@ sub cmd_tee { my $file = name2file $name; my $msg = -f $file ? "update $name" : "+$name"; - mkdirs(dirname $file); + make_path(dirname $file); my @args = ($gpg, @gpg_flags, '-e', '-r', recipient(), '--batch', '--yes', '-o', $file);