Home » File Formats » Archive_Tar » Bug #1130
none working bz2
Details
| Submitted | 2004-04-05 00:33 UTC |
|---|---|
| From | david dot sauer at t-online dot de |
| Assigned | vblavet |
| Status | Closed |
| Package | Archive_Tar |
| PHP Version | Irrelevant |
| OS | Linux |
| Roadmaps | (Not assigned) |
Comments
[2004-04-05 00:33 UTC] david dot sauer at t-online dot de
Description:
------------
the bz2 compression could not be used.
the gz compression is activated or none.
Reproduce code:
---------------
the Tar.php from line 104 on:
} else {
if (($p_compress == true) || ($p_compress == 'gz')) {
$this->_compress = true;
$this->_compress_type = 'gz';
} else if ($p_compress == 'bz2') {
$this->_compress = true;
$this->_compress_type = 'bz2';
}
}
better:
} else {
if (($p_compress === true) || ($p_compress == 'gz')) {
$this->_compress = true;
$this->_compress_type = 'gz';
} else if ($p_compress == 'bz2') {
$this->_compress = true;
$this->_compress_type = 'bz2';
}
}
Expected result:
----------------
The check $p_compress == true in line 105 will return true
when the $p_compress is a string with the content "bz2".
When the check is changed to $p_compress === true it will
check if the content is boolen and true. That returns
false with the content "bz2".
[2004-04-06 06:38 UTC] vblavet at php dot net
This is corrected in version 1.16 in CVS :
http://cvs.php.net/co.php/pear/Archive_Tar/Archive/Tar.php?r=1.16
[2004-04-06 06:42 UTC] vblavet at php dot net
Also corrected in Package release 1.1
[2004-04-06 08:02 UTC] david dot sauer at t-online dot de
i have not compiled with gz only with bz2.
when i use release 1.1 or 1.16 and do that
"$tar_object = new Archive_Tar("n.tar.bz2", "bz2");"
the messsage is
"The extension 'zlib' couldn't be found. Please make sure
your version of PHP was built with 'zlib' support."
when i change the == to === in line 105 it works.
[2004-04-06 12:15 UTC] vblavet at php dot net
Yes sorry you are right. On line 113, the test must be with '=== true'. Corrected in CVS 1.17.