Blame BackupPC-3.3.1-perl_unescaped_left_brace.patch
|
|
6901d6f |
--- BackupPC-3.3.1/lib/BackupPC/Lib.pm.orig 2016-12-22 14:40:02.589015927 +0100
|
|
|
6901d6f |
+++ BackupPC-3.3.1/lib/BackupPC/Lib.pm 2016-12-22 14:41:37.511427617 +0100
|
|
|
6901d6f |
@@ -1261,7 +1261,7 @@
|
|
|
6901d6f |
#
|
|
|
6901d6f |
# Replace scalar variables first
|
|
|
6901d6f |
#
|
|
|
6901d6f |
- $arg =~ s[\${(\w+)}(\+?)]{
|
|
|
6901d6f |
+ $arg =~ s[\$\{(\w+)}(\+?)]{
|
|
|
6901d6f |
exists($vars->{$1}) && ref($vars->{$1}) ne "ARRAY"
|
|
|
6901d6f |
? ($2 eq "+" ? $bpc->shellEscape($vars->{$1}) : $vars->{$1})
|
|
|
6901d6f |
: "\${$1}$2"
|
|
|
6901d6f |
@@ -1270,7 +1270,7 @@
|
|
|
6901d6f |
# Now replicate any array arguments; this just works for just one
|
|
|
6901d6f |
# array var in each argument.
|
|
|
6901d6f |
#
|
|
|
6901d6f |
- if ( $arg =~ m[(.*)\${(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) {
|
|
|
6901d6f |
+ if ( $arg =~ m[(.*)\$\{(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) {
|
|
|
6901d6f |
my $pre = $1;
|
|
|
6901d6f |
my $var = $2;
|
|
|
6901d6f |
my $esc = $3;
|
|
|
6901d6f |
@@ -1295,7 +1295,7 @@
|
|
|
6901d6f |
sub cmdExecOrEval
|
|
|
6901d6f |
{
|
|
|
6901d6f |
my($bpc, $cmd, @args) = @_;
|
|
|
6901d6f |
-
|
|
|
6901d6f |
+
|
|
|
6901d6f |
if ( (ref($cmd) eq "ARRAY" ? $cmd->[0] : $cmd) =~ /^\&/ ) {
|
|
|
6901d6f |
$cmd = join(" ", @$cmd) if ( ref($cmd) eq "ARRAY" );
|
|
|
6901d6f |
print(STDERR "cmdExecOrEval: about to eval perl code $cmd\n")
|
|
|
6901d6f |
@@ -1336,7 +1336,7 @@
|
|
|
6901d6f |
my($bpc, $cmd, $stdoutCB, $ignoreStderr, $pidHandlerCB, @args) = @_;
|
|
|
6901d6f |
my($pid, $out, $allOut);
|
|
|
6901d6f |
local(*CHILD);
|
|
|
6901d6f |
-
|
|
|
6901d6f |
+
|
|
|
6901d6f |
$? = 0;
|
|
|
6901d6f |
if ( (ref($cmd) eq "ARRAY" ? $cmd->[0] : $cmd) =~ /^\&/ ) {
|
|
|
6901d6f |
$cmd = join(" ", @$cmd) if ( ref($cmd) eq "ARRAY" );
|