projects
/
BackupPC.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- added utf8 to output filter and added encoding of file names
[BackupPC.git]
/
lib
/
BackupPC
/
FileZIO.pm
diff --git
a/lib/BackupPC/FileZIO.pm
b/lib/BackupPC/FileZIO.pm
index
0b23873
..
d920675
100644
(file)
--- a/
lib/BackupPC/FileZIO.pm
+++ b/
lib/BackupPC/FileZIO.pm
@@
-43,6
+43,7
@@
use vars qw( $CompZlibOK );
use Carp;
use File::Path;
use File::Copy;
use Carp;
use File::Path;
use File::Copy;
+use Encode;
#
# For compressed files we have a to careful about running out of memory
#
# For compressed files we have a to careful about running out of memory
@@
-126,6
+127,16
@@
sub compOk
return $CompZlibOK;
}
return $CompZlibOK;
}
+#
+# Request utf8 strings with readLine interface
+#
+sub utf8
+{
+ my($self, $mode) = @_;
+
+ $self->{utf8} = $mode;
+}
+
sub myDeflateInit
{
my $self = shift;
sub myDeflateInit
{
my $self = shift;
@@
-226,6
+237,7
@@
sub readLine
if ( $str eq "" ) {
$str = $self->{readLineFrag};
$self->{readLineFrag} = "";
if ( $str eq "" ) {
$str = $self->{readLineFrag};
$self->{readLineFrag} = "";
+ $str = decode_utf8($str) if ( $self->{utf8} );
return $str;
}
@{$self->{readLineBuf}} = split(/\n/, $self->{readLineFrag} . $str);
return $str;
}
@{$self->{readLineBuf}} = split(/\n/, $self->{readLineFrag} . $str);
@@
-235,7
+247,9
@@
sub readLine
$self->{readLineFrag} = "";
}
}
$self->{readLineFrag} = "";
}
}
- return shift(@{$self->{readLineBuf}}) . "\n";
+ $str = shift(@{$self->{readLineBuf}}) . "\n";
+ $str = decode_utf8($str) if ( $self->{utf8} );
+ return $str;
}
sub rewind
}
sub rewind