X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FLib.pm;h=5946f1b33b4e05562f006bd921a519739f0a095a;hp=02177a0a8a29c407c51e91b53f8baa5dafb6a7cb;hb=a909b19848bd3225b786fc2a7311eceb674c671f;hpb=1282f5f90cf092cb406ee186e6bf328875e4c306 diff --git a/lib/BackupPC/Lib.pm b/lib/BackupPC/Lib.pm index 02177a0..5946f1b 100644 --- a/lib/BackupPC/Lib.pm +++ b/lib/BackupPC/Lib.pm @@ -29,7 +29,7 @@ # #======================================================================== # -# Version 1.5.0, released 2 Aug 2002. +# Version 1.6.0_CVS, released 10 Dec 2002. # # See http://backuppc.sourceforge.net. # @@ -52,24 +52,27 @@ use Digest::MD5; sub new { my $class = shift; - my($topDir) = @_; + my($topDir, $installDir) = @_; + my $self = bless { TopDir => $topDir || '/data/BackupPC', - BinDir => '/usr/local/BackupPC/bin', - LibDir => '/usr/local/BackupPC/lib', - Version => '1.5.0', + BinDir => $installDir || '/usr/local/BackupPC', + LibDir => $installDir || '/usr/local/BackupPC', + Version => '1.6.0_CVS', BackupFields => [qw( num type startTime endTime nFiles size nFilesExist sizeExist nFilesNew sizeNew xferErrs xferBadFile xferBadShare tarErrs compress sizeExistComp sizeNewComp - noFill fillFromNum mangle + noFill fillFromNum mangle xferMethod level )], RestoreFields => [qw( num startTime endTime result errorMsg nFiles size tarCreateErrs xferErrs )], }, $class; + $self->{BinDir} .= "/bin"; + $self->{LibDir} .= "/lib"; # # Clean up %ENV and setup other variables. # @@ -255,6 +258,7 @@ sub ConfigRead } %{$self->{Conf}} = ( %{$self->{Conf} || {}}, %Conf ); } + return if ( !defined($self->{Conf}{Language}) ); my $langFile = "$self->{LibDir}/BackupPC/Lang/$self->{Conf}{Language}.pm"; if ( !defined($ret = do $langFile) && ($! || $@) ) { $mesg = "Couldn't open language file $langFile: $!" if ( $! ); @@ -390,6 +394,7 @@ sub RmTreeDefer my($d) = $1; my($f) = $2; my($cwd) = Cwd::fastcwd(); + $cwd = $1 if ( $cwd =~ /(.*)/ ); $self->RmTreeQuiet($d, $f); chdir($cwd) if ( $cwd ); } @@ -404,6 +409,7 @@ sub RmTreeTrashEmpty my(@files); my($cwd) = Cwd::fastcwd(); + $cwd = $1 if ( $cwd =~ /(.*)/ ); return if ( !-d $trashDir ); my $d = DirHandle->new($trashDir) or carp "Can't read $trashDir: $!"; @@ -729,6 +735,7 @@ sub fileNameEltMangle { my($self, $name) = @_; + return "" if ( $name eq "" ); $name =~ s{([%/\n\r])}{sprintf("%%%02x", ord($1))}eg; return "f$name"; }