btrbk: fixed bug: "Use of uninitialized value $&". The bug occurred when parsing a sub-subvolume from "btrfs subvolume list" command output

pull/30/head
Axel Burri 2015-03-11 19:18:54 +01:00
parent 448b70b8fd
commit 02acb32d17
1 changed files with 9 additions and 6 deletions

15
btrbk
View File

@ -664,13 +664,16 @@ sub btr_subtree($;$)
my $path = $node->{path};
if($volname) {
# strip leading volume name
unless($path =~ s/^$volname\///) {
# if $vol is a sub-subvolume, strip whole prefix
unless($path =~ s/.+\/$volname\///) {
die("ambiguous btrfs subvolume info line");
}
if($path =~ s/^$volname\///) {
TRACE "btr_subtree: removed \"$&\" prefix of subvolume path: $path";
}
elsif($path =~ s/^.+\/$volname\///) {
# $vol is a sub-subvolume, whole prefix stripped
TRACE "btr_subtree: removed \"$&\" prefix of sub-subvolume path: $path";
}
else {
die("ambiguous btrfs subvolume info line");
}
TRACE "btr_subtree: removed \"$&\" prefix of subvolume path: $path";
}
$node->{SUBVOL_PATH} = $path;
TRACE "btr_subtree: set SUBVOL_PATH: $node->{SUBVOL_PATH}";