ID:               36934
 Updated by:       [EMAIL PROTECTED]
 Reported By:      sswpwp at poczta dot onet dot pl
-Status:           Assigned
+Status:           Closed
 Bug Type:         OCI8 related
 Operating System: Windows 2000
 PHP Version:      5CVS-2006-03-31 (snap)
 Assigned To:      tony2001
 New Comment:

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.




Previous Comments:
------------------------------------------------------------------------

[2006-03-31 17:02:22] sswpwp at poczta dot onet dot pl

I'm using Apache 2.0.55 and Oracle Instant Client 10.2.0

------------------------------------------------------------------------

[2006-03-31 16:51:13] sswpwp at poczta dot onet dot pl

Description:
------------
When using OCILob->read(length) function with BLOBs containing 0's it
reads specified amount of bytes but doesn't move internal pointer
properly. The pointer is moved to the next '0' byte and no further. 
I think the possible cause of this bug is line 223 in oci8_lob.c file:
data_len_chars = OCIMultiByteStrnDisplayLength(connection->env, *data,
bytes_total); 

Propably the function quits after reaching '\0' character instead of
checking bytes_total bytes and as such should be used only with CLOBs.

Reproduce code:
---------------
First 128 bytes in the BLOB I'm reading are 0's, then there are 5
non-zero bytes followed by some more 0's.

$stmt = oci_parse($auth->conn, "SELECT ZDJT_IMAGE FROM IMAGES WHERE
IMAGE_ID = 1");
oci_execute($stmt);
$row = oci_fetch_assoc($stmt);

$row['ZDJT_IMAGE']->read(128);
echo $row['ZDJT_IMAGE']->tell();
$row['ZDJT_IMAGE']->read(128);
echo $row['ZDJT_IMAGE']->tell();

$row['ZDJT_IMAGE']->seek(128);
echo $row['ZDJT_IMAGE']->tell();
$row['ZDJT_IMAGE']->read(128);
echo $row['ZDJT_IMAGE']->tell();


Expected result:
----------------
The expected result would be:
128
256

128
256

Actual result:
--------------
0
0

128
133


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36934&edit=1

Reply via email to