Release for 3.2.0. Changes since 3.2.0beta1:
[BackupPC.git] / lib / BackupPC / FileZIO.pm
index d920675..ca3d1a9 100644 (file)
@@ -11,7 +11,7 @@
 #   Craig Barratt  <cbarratt@users.sourceforge.net>
 #
 # COPYRIGHT
-#   Copyright (C) 2001-2003  Craig Barratt
+#   Copyright (C) 2001-2009  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
@@ -29,7 +29,7 @@
 #
 #========================================================================
 #
-# Version 3.0.0alpha, released 23 Jan 2006.
+# Version 3.2.0, released 31 Jul 2010.
 #
 # See http://backuppc.sourceforge.net.
 #
@@ -173,13 +173,13 @@ sub read
             my $chr = substr($self->{dataIn}, 0, 1);
 
             $self->{inflateStart} = 0;
-            if ( $chr eq chr(0xd6) ) {
+            if ( $chr eq chr(0xd6) || $chr eq chr(0xd7) ) {
                 #
-                # Flag 0xd6 means this is a compressed file with
+                # Flag 0xd6 or 0xd7 means this is a compressed file with
                 # appended md4 block checksums for rsync.  Change
                 # the first byte back to 0x78 and proceed.
                 #
-                ##print("Got 0xd6 block: normal\n");
+                ##print("Got 0xd6/0xd7 block: normal\n");
                 substr($self->{dataIn}, 0, 1) = chr(0x78);
             } elsif ( $chr eq chr(0xb3) ) {
                 #
@@ -248,7 +248,11 @@ sub readLine
         }
     }
     $str = shift(@{$self->{readLineBuf}}) . "\n";
-    $str = decode_utf8($str) if ( $self->{utf8} );
+    if ( $self->{utf8} ) {
+        my $strUtf8 = decode_utf8($str, 0);
+        $strUtf8 = $str if ( length($strUtf8) == 0 );
+        return $strUtf8;
+    }
     return $str;
 }