X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FAttrib.pm;h=046cf870e85746ee887b235fa89fc76794b0c360;hp=12f3c330f6fb1e90d71e450e4fb9bf132af31b35;hb=fda25dc88a63ccac1c80efa2e4994bf0725ca9b7;hpb=2c14784ad71874ec850d189060fe63d6eb9eba95 diff --git a/lib/BackupPC/Attrib.pm b/lib/BackupPC/Attrib.pm index 12f3c33..046cf87 100644 --- a/lib/BackupPC/Attrib.pm +++ b/lib/BackupPC/Attrib.pm @@ -12,7 +12,7 @@ # Craig Barratt # # COPYRIGHT -# Copyright (C) 2001-2003 Craig Barratt +# Copyright (C) 2001-2007 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 @@ -30,7 +30,7 @@ # #======================================================================== # -# Version 2.1.0_CVS, released 8 Feb 2004. +# Version 3.1.0, released 25 Nov 2007. # # See http://backuppc.sourceforge.net. # @@ -43,6 +43,7 @@ use strict; use Carp; use File::Path; use BackupPC::FileZIO; +use Encode qw/from_to/; require Exporter; use vars qw( @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS ); @@ -198,6 +199,8 @@ sub read my($data); $file = $a->fileName($dir, $file); + from_to($file, "utf8", $a->{charsetLegacy}) + if ( $a->{charsetLegacy} ne "" ); my $fd = BackupPC::FileZIO->open($file, 0, $a->{compress}); if ( !$fd ) { $a->{_errStr} = "Can't open $file"; @@ -240,6 +243,9 @@ sub read } } (my $fileName, $data) = unpack("a$len a*", $data); + + from_to($fileName, $a->{charsetLegacy}, "utf8") + if ( $a->{charsetLegacy} ne "" ); my $nFldsW = @FldsUnixW; my $nFldsN = @FldsUnixN; if ( length($data) < 5 * $nFldsW + 4 * $nFldsN ) {