#41429 [Asn->Fbk]: working with filled blob fields failed
| From: | tony2001@php.net | Date: | Fri, 03 Aug 2007 09:52:27 +0000 |
| Subject: | #41429 [Asn->Fbk]: working with filled blob fields failed | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-115711@lists.php.net to get a copy of this message | ||
ID: 41429
Updated by: tony2001@php.net
Reported By: idvis at seznam dot cz
-Status: Assigned
+Status: Feedback
Bug Type: InterBase related
Operating System: WinXPPro, Win2000Pro
PHP Version: 5.2.2
Assigned To: abies
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows (zip):
http://snaps.php.net/win32/php5.2-win32-latest.zip
For Windows (installer):
http://snaps.php.net/win32/php5.2-win32-installer-latest.msi
Should be fixed in the snap.
Previous Comments:
------------------------------------------------------------------------
[2007-07-19 13:21:02] john dot cxh at gmail dot com
The temporary solution:
find php\ext\php_interbase.dll in php V5.2.1
copy this file to php5.2.3\ext\ overwrite the new version file
I am using php V5.2.3 + apache2.2.4 + WinxpProSP2
test it sucessfully
------------------------------------------------------------------------
[2007-07-12 20:49:12] kgbfernando at yahoo dot com dot br
PHP Bug?
See below that the codes is differs from version 5.2.1 to earlier:
The PHP 5.2.1 code
char *_php_ibase_quad_to_string(ISC_QUAD const qd) /* {{{ */
{
char *result = (char *) emalloc(BLOB_ID_LEN+1);
/* shortcut for most common case */
if (sizeof(ISC_QUAD) == sizeof(ISC_UINT64)) {
sprintf(result, "0x%0*" LL_MASK "x", 16, *(ISC_UINT64*)(void *)
&qd);
} else {
ISC_UINT64 res = ((ISC_UINT64) qd.gds_quad_high << 0x20) |
qd.gds_quad_low;
sprintf(result, "0x%0*" LL_MASK "x", 16, res);
}
result[BLOB_ID_LEN] = '\0';
return result;
}
/* }}} */
The PHP 5.2.3 or 5.2.2
char *_php_ibase_quad_to_string(ISC_QUAD const qd) /* {{{ */
{
char *result;
/* shortcut for most common case */
if (sizeof(ISC_QUAD) == sizeof(ISC_UINT64)) {
spprintf(&result, BLOB_ID_LEN+1, "0x%0*" LL_MASK "x", 16,
*(ISC_UINT64*)(void *) &qd);
} else {
ISC_UINT64 res = ((ISC_UINT64) qd.gds_quad_high << 0x20) |
qd.gds_quad_low;
spprintf(&result, BLOB_ID_LEN+1, "0x%0*" LL_MASK "x", 16, res);
}
return result;
}
/* }}} */
------------------------------------------------------------------------
[2007-07-12 19:16:14] quipo@php.net
Confirmed. I can reproduce the bug too.
------------------------------------------------------------------------
[2007-06-25 02:34:01] david at edumate dot com dot au
We have the same issue, after upgrading from 5.2.0 to 5.2.3.
Running in Apache 2, SuSE 10.2
------------------------------------------------------------------------
[2007-06-13 22:35:04] ilpochta at gmail dot com
Maybe this change
http://cvs.php.net/viewvc.cgi/php-src/ext/interbase/ibase_blobs.c?r1=1.12&r2=1.13
broked ibase_blob_*() functionality?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/41429
--
Edit this bug report at http://bugs.php.net/?id=41429&edit=1