Bug in interbase.c (Ver. 5.2.6) INVALID BLOB ID

[email protected] (Benjamin Schwarze)
Newsgroups php.db
Message-ID <[email protected]>
Hi!

Ay many other users recognized, there is a bug in the implementation of 
the function "_php_ibase_quad_to_string". (imho since version 5.2.1)

The line "spprintf(&result, BLOB_ID_LEN+1, "0x%0*" LL_MASK "x", 16, 
*(ISC_UINT64*)(void *) &qd);" doesnt work as estimated. The result 
stored inside qd isnt the value convertet from the string, but something 
else. Normally this should work, but it doesnt.

One possible solution is, to change the line into "spprintf(&result, 
BLOB_ID_LEN+1, "0x%0*x%0*x", 8, qd.gds_quad_low, 8, qd.gds_quad_high);"

Of course, this solution isnt the fine way ... but it works.

The problem occured onto a 64bit System (Fedora Core 8).

Greetings
Benjamin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.