#
#========================================================================
#
-# Version 2.1.0beta2, released 23 May 2004.
+# Version 3.0.0alpha, released 23 Jan 2006.
#
# See http://backuppc.sourceforge.net.
#
use Carp;
use File::Path;
use File::Copy;
+use Encode;
#
# For compressed files we have a to careful about running out of memory
return $CompZlibOK;
}
+#
+# Request utf8 strings with readLine interface
+#
+sub utf8
+{
+ my($self, $mode) = @_;
+
+ $self->{utf8} = $mode;
+}
+
sub myDeflateInit
{
my $self = shift;
# the compressed file. Also seek the file so
# it is positioned at the 0xb3.
#
- seek($self->{fh}, -length($self->{dataIn}), 1);
+ sysseek($self->{fh}, -length($self->{dataIn}), 1);
$self->{eof} = 1;
$self->{dataIn} = "";
##print("Got 0xb3 block: considering eof\n");
if ( $str eq "" ) {
$str = $self->{readLineFrag};
$self->{readLineFrag} = "";
+ $str = decode_utf8($str) if ( $self->{utf8} );
return $str;
}
@{$self->{readLineBuf}} = split(/\n/, $self->{readLineFrag} . $str);
$self->{readLineFrag} = "";
}
}
- return shift(@{$self->{readLineBuf}}) . "\n";
+ $str = shift(@{$self->{readLineBuf}}) . "\n";
+ $str = decode_utf8($str) if ( $self->{utf8} );
+ return $str;
}
sub rewind