Blob Blame History Raw
--- Archive_Tar-1.3.10/Archive/Tar.php	2012-04-10 19:29:34.000000000 +0200
+++ Archive_Tar-1.3.10/Archive/Tar.php	2012-12-11 16:41:40.884407997 +0100
@@ -1343,11 +1343,17 @@
         for ($i=156; $i<512; $i++)
            $v_checksum+=ord(substr($v_binary_data,$i,1));
 
-        $v_data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" .
-                         "a8checksum/a1typeflag/a100link/a6magic/a2version/" .
-                         "a32uname/a32gname/a8devmajor/a8devminor/a131prefix",
-                         $v_binary_data);
-                         
+        if (version_compare(PHP_VERSION,"5.5.0-dev")<0) {
+            $fmt = "a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" .
+                   "a8checksum/a1typeflag/a100link/a6magic/a2version/" .
+                   "a32uname/a32gname/a8devmajor/a8devminor/a131prefix";
+        } else {
+            $fmt = "Z100filename/Z8mode/Z8uid/Z8gid/Z12size/Z12mtime/" .
+                   "Z8checksum/Z1typeflag/Z100link/Z6magic/Z2version/" .
+                   "Z32uname/Z32gname/Z8devmajor/Z8devminor/Z131prefix";
+        }
+        $v_data = unpack($fmt, $v_binary_data);
+
         if (strlen($v_data["prefix"]) > 0) {
             $v_data["filename"] = "$v_data[prefix]/$v_data[filename]";
         }