From 0aa90d9aa7210ab4df4b96f23a9fc8045e572131 Mon Sep 17 00:00:00 2001
From: Andreas Gohr <andi@splitbrain.org>
Date: Thu, 9 May 2013 14:53:36 +0200
Subject: tar library: another fix for lone zero blocks

---
 inc/Tar.class.php | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

(limited to 'inc')

diff --git a/inc/Tar.class.php b/inc/Tar.class.php
index 10e82109b..d1a38ea0e 100644
--- a/inc/Tar.class.php
+++ b/inc/Tar.class.php
@@ -262,7 +262,7 @@ class Tar {
 
             if(!$this->fh) throw new TarIOException('Could not open file for writing: '.$this->file);
         }
-        $this->writeaccess = false;
+        $this->writeaccess = true;
         $this->closed      = false;
     }
 
@@ -295,8 +295,11 @@ class Tar {
             filemtime($file)
         );
 
-        if(filesize($file)) while(!feof($fp)) {
-            $packed = pack("a512", fread($fp, 512));
+        while(!feof($fp)) {
+            $data = fread($fp, 512);
+            if($data === false) break;
+            if($data === '') break;
+            $packed = pack("a512", $data);
             $this->writebytes($packed);
         }
         fclose($fp);
-- 
cgit v1.2.3