-#!/bin/perl -T
+#!/bin/perl
#============================================================= -*-perl-*-
#
# BackupPC_compressPool: Compress existing pool
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2001 Craig Barratt
+# Copyright (C) 2001-2003 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
#
#========================================================================
#
-# Version 1.6.0_CVS, released 10 Dec 2002.
+# Version 3.0.0alpha, released 23 Jan 2006.
#
# See http://backuppc.sourceforge.net.
#
#========================================================================
use strict;
+no utf8;
use File::Find;
use File::Path;
die("BackupPC::Lib->new failed\n") if ( !(my $bpc = BackupPC::Lib->new) );
$bpc->ChildInit();
my $TopDir = $bpc->TopDir();
+my $LogDir = $bpc->LogDir();
my $BinDir = $bpc->BinDir();
my %Conf = $bpc->Conf();
my $PoolDir = "$TopDir/pool";
-Bufsize => 65536,
-Level => $Compress,
);
- if ( !open(FH, $TestMode ? "<$file" : "+<$file") ) {
+ if ( !open(FH, $TestMode ? "<" : "+<", $file) ) {
print("Error: Can't open $file for read/write\n");
$Errors++;
return;
}
+ binmode(FH);
while ( sysread(FH, $dataIn, $CompMaxWrite) > 0 ) {
$flush = 0;
$FileOrigSz += length($dataIn);
}
$dataOut .= $fragOut;
if ( !$copy && length($dataOut) > $CompMaxWrite ) {
- if ( !open(OUT, "+>$file.__z") ) {
+ if ( !open(OUT, "+>", "$file.__z") ) {
print("Error: Can't open $file.__z for write\n");
$Errors++;
close(FH);
return;
}
+ binmode(OUT);
$copy = 1;
}
if ( $copy && $dataOut ne "" ) {
my $newFile = cpoolFileName($file);
if ( $TestMode ) {
close(FH);
- if ( !open(FH, ">$newFile") ) {
+ if ( !open(FH, ">", $newFile) ) {
print("Error: Can't open $newFile for write\n");
$Errors++;
close(FH);
unlink("$file.__z");
return;
}
+ binmode(FH);
}
if ( $copy ) {
if ( !sysseek(OUT, 0, 0) ) {
my($n, $nd, $r, $d, $d0);
local(*FH);
- if ( !open(FH, $file) ) {
+ if ( !open(FH, "<", $file) ) {
print("can't open $file for check\n");
$Errors++;
$f->close();
return;
}
+ binmode(FH);
#print("comparing $file to $cfile\n");
while ( 1 ) {
$n = 1 + int(rand($CompMaxRead) + rand(100));
my($n, $nd, $r, $d, $d0);
local(*FH);
- if ( !open(FH, $file) ) {
+ if ( !open(FH, "<", $file) ) {
print("can't open $file for check\n");
$Errors++;
$f->close();
return;
}
+ binmode(FH);
while ( 1 ) {
$d0 = <FH>;
$d = $f->readLine();
if ( !defined($host) ) {
for ( my $i = 0 ; ; $i++ ) {
- last if ( !-f "$TopDir/log/LOG.$i" );
- push(@Files, "$TopDir/log/LOG.$i");
+ last if ( !-f "$LogDir/LOG.$i" );
+ push(@Files, "$LogDir/LOG.$i");
}
} else {
@Backups = $bpc->BackupInfoRead($host);