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
/
Storage
/
Text.pm
diff --git
a/lib/BackupPC/Storage/Text.pm
b/lib/BackupPC/Storage/Text.pm
index
7c4f1f7
..
0f22932
100644
(file)
--- a/
lib/BackupPC/Storage/Text.pm
+++ b/
lib/BackupPC/Storage/Text.pm
@@
-12,7
+12,7
@@
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2004 Craig Barratt
+# Copyright (C) 2004
-2009
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
@@
-30,7
+30,7
@@
#
#========================================================================
#
#
#========================================================================
#
-# Version 3.
1.0beta0, released 3 Sep 2007
.
+# Version 3.
2.0beta0, released 5 April 2009
.
#
# See http://backuppc.sourceforge.net.
#
#
# See http://backuppc.sourceforge.net.
#
@@
-214,7
+214,10
@@
sub TextFileWrite
(my $dir = $file) =~ s{(.+)/(.+)}{$1};
(my $dir = $file) =~ s{(.+)/(.+)}{$1};
- mkpath($dir, 0, 0775) if ( !-d $dir );
+ if ( !-d $dir ) {
+ eval { mkpath($dir, 0, 0775) };
+ return "TextFileWrite: can't create directory $dir" if ( $@ );
+ }
if ( open(FD, ">", "$file.new") ) {
binmode(FD);
print FD $contents;
if ( open(FD, ">", "$file.new") ) {
binmode(FD);
print FD $contents;
@@
-271,25
+274,25
@@
sub ConfigPath
sub ConfigDataRead
{
sub ConfigDataRead
{
- my($s, $host) = @_;
+ my($s, $host
, $prevConfig
) = @_;
my($ret, $mesg, $config, @configs);
#
# TODO: add lock
#
my($ret, $mesg, $config, @configs);
#
# TODO: add lock
#
- my $conf = {};
+ my $conf =
$prevConfig ||
{};
my $configPath = $s->ConfigPath($host);
push(@configs, $configPath) if ( -f $configPath );
foreach $config ( @configs ) {
my $configPath = $s->ConfigPath($host);
push(@configs, $configPath) if ( -f $configPath );
foreach $config ( @configs ) {
- %Conf =
()
;
+ %Conf =
%$conf
;
if ( !defined($ret = do $config) && ($! || $@) ) {
$mesg = "Couldn't open $config: $!" if ( $! );
$mesg = "Couldn't execute $config: $@" if ( $@ );
$mesg =~ s/[\n\r]+//;
return ($mesg, $conf);
}
if ( !defined($ret = do $config) && ($! || $@) ) {
$mesg = "Couldn't open $config: $!" if ( $! );
$mesg = "Couldn't execute $config: $@" if ( $@ );
$mesg =~ s/[\n\r]+//;
return ($mesg, $conf);
}
- %$conf =
( %$conf, %Conf )
;
+ %$conf =
%Conf
;
}
#
}
#
@@
-319,11
+322,6
@@
sub ConfigDataRead
delete($conf->{BlackoutWeekDays});
}
delete($conf->{BlackoutWeekDays});
}
- #
- # Make sure IncrLevels is defined
- #
- $conf->{IncrLevels} = [1] if ( !defined($conf->{IncrLevels}) );
-
return (undef, $conf);
}
return (undef, $conf);
}