Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.0.0RC2

Bug #6516 wrong usage of unpack()
Submitted: 2006-01-18 10:25 UTC Modified: 2007-04-23 10:29 UTC
From: ymettier at libertysurf dot fr Assigned: schmidt
Status: Closed Package: OLE
PHP Version: 5.1.1 OS: Solaris
Roadmaps: (Not assigned)    
Subscription  


 [2006-01-18 10:25 UTC] ymettier at libertysurf dot fr
Description: ------------ I'm using OLE-0.5 The script, expected result and actual results are below. I tried to hack OLE.php and I noticed a lot of unpack() like this : $type = unpack("c", substr($pps_wk, 66, 1)); if (($type[''] != OLE_PPS_TYPE_ROOT) ... return $this->raiseError("PPS at $pointer has unknown type: {$type['']} However, unpack seems to return an array where the first element is 1. Try to replace $type[''] with $type[1] for example. It works better with that change. Test script: --------------- $docfile = "my_document.doc"; $ole =& new OLE(); $pps = $ole->read($docfile); if(PEAR::isError($pps)) { echo "<hr><pre>".$pps->getMessage()."</pre><hr>\n"; } Expected result: ---------------- Nothing, meaning that it works Actual result: -------------- ---------------- PPS at 1 has unknown type: ----------------

Comments

 [2006-12-28 04:44 UTC] pear dot php dot net at chsc dot dk (Christian Schmidt)
Here is a patch that fixes this problem: http://dev.peytz.dk/~dr/OLE.patch