projects
/
BackupPC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* Changes in preparation for 3.2.0beta1...
[BackupPC.git]
/
lib
/
BackupPC
/
Lib.pm
diff --git
a/lib/BackupPC/Lib.pm
b/lib/BackupPC/Lib.pm
index
31eb06d
..
cb66a10
100644
(file)
--- a/
lib/BackupPC/Lib.pm
+++ b/
lib/BackupPC/Lib.pm
@@
-11,7
+11,7
@@
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2001-200
7
Craig Barratt
+# Copyright (C) 2001-200
9
Craig Barratt
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@
-364,9
+364,9
@@
sub ConfigRead
# Read host config file
#
if ( $host ne "" ) {
# Read host config file
#
if ( $host ne "" ) {
- ($mesg, $config) = $bpc->{storage}->ConfigDataRead($host);
+ ($mesg, $config) = $bpc->{storage}->ConfigDataRead($host
, $config
);
return $mesg if ( defined($mesg) );
return $mesg if ( defined($mesg) );
- $bpc->{Conf} =
{ %{$bpc->{Conf}}, %$config }
;
+ $bpc->{Conf} =
$config
;
}
#
}
#
@@
-1236,19
+1236,24
@@
sub cmdVarSubstitute
# Merge variables into @cmd
#
foreach my $arg ( @$template ) {
# Merge variables into @cmd
#
foreach my $arg ( @$template ) {
+ #
+ # Replace $VAR with ${VAR} so that both types of variable
+ # substitution are supported
+ #
+ $arg =~ s[\$(\w+)]{\${$1}}g;
#
# Replace scalar variables first
#
#
# Replace scalar variables first
#
- $arg =~ s
{\$(\w+)(\+?)}
{
+ $arg =~ s
[\${(\w+)}(\+?)]
{
exists($vars->{$1}) && ref($vars->{$1}) ne "ARRAY"
? ($2 eq "+" ? $bpc->shellEscape($vars->{$1}) : $vars->{$1})
exists($vars->{$1}) && ref($vars->{$1}) ne "ARRAY"
? ($2 eq "+" ? $bpc->shellEscape($vars->{$1}) : $vars->{$1})
- : "\$
$1
$2"
+ : "\$
{$1}
$2"
}eg;
#
# Now replicate any array arguments; this just works for just one
# array var in each argument.
#
}eg;
#
# Now replicate any array arguments; this just works for just one
# array var in each argument.
#
- if ( $arg =~ m
{(.*)\$(\w+)(\+?)(.*)}
&& ref($vars->{$2}) eq "ARRAY" ) {
+ if ( $arg =~ m
[(.*)\${(\w+)}(\+?)(.*)]
&& ref($vars->{$2}) eq "ARRAY" ) {
my $pre = $1;
my $var = $2;
my $esc = $3;
my $pre = $1;
my $var = $2;
my $esc = $3;