Skip to content

Commit

Permalink
Bug #19746 - fix for changed pack() behavior in PHP 5.5
Browse files Browse the repository at this point in the history
  • Loading branch information
mrook committed Jan 19, 2013
1 parent f536af7 commit de7aade
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions Archive/Tar.php
Original file line number Diff line number Diff line change
Expand Up @@ -1356,11 +1356,17 @@ function _readHeader($v_binary_data, &$v_header)
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]";
}
Expand Down

2 comments on commit de7aade

@renan
Copy link

@renan renan commented on de7aade Feb 8, 2013

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you release this or are there more bugs with PHP 5.5?

@mrook
Copy link
Member Author

@mrook mrook commented on de7aade Feb 9, 2013

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Archive_Tar 1.3.11 was just released!

Please sign in to comment.