Edit report at https://bugs.php.net/bug.php?id=73002&edit=1
ID: 73002
Comment by: lzsiga at freemail dot c3 dot hu
Reported by: lzsiga at freemail dot c3 dot hu
Summary: bigendian64/php7/oci8: output bind-variables doesn't
work
Status: Open
Type: Bug
Package: OCI8 related
Operating System: 64-bit / BigEndian
PHP Version: 7.*
Block user comment: N
Private report: N
New Comment:
Also there type 'oci_phpsized_int': its size on the Oracle version: 64-bit for Oracle 11+,
32-bit for older version.
Most likely it was meant to solve some problem, but of course there is no documentation about it.
When it is defined as 32-bit, it causes the same problem on big-endian platform.
Previous Comments:
------------------------------------------------------------------------
[2021-08-25 14:44:23] cmb@php.net
Related To: Bug #81382
------------------------------------------------------------------------
[2020-08-17 10:52:07] lzsiga at freemail dot c3 dot hu
The following patch has been added/updated:
Patch Name: oci8_statement.patch_8_0_0
Revision: 1597661527
URL: https://bugs.php.net/patch-display.php?bug=73002&patch=oci8_statement.patch_8_0_0&revision=1597661527
------------------------------------------------------------------------
[2019-12-16 10:52:44] lzsiga at freemail dot c3 dot hu
The following patch has been added/updated:
Patch Name: oci8_statement.patch_7_4_0boolean2
Revision: 1576493564
URL: https://bugs.php.net/patch-display.php?bug=73002&patch=oci8_statement.patch_7_4_0boolean2&revision=1576493564
------------------------------------------------------------------------
[2019-12-16 10:26:20] lzsiga at freemail dot c3 dot hu
Please test the latest patch, it might solve the boolean-problem. The clue of the patch is this
macro:
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define LongPtr2Int32Ptr(longptr) ((int32_t *)(longptr))
#else
#define LongPtr2Int32Ptr(longptr) \
((int32_t *)((char *)(longptr)+(sizeof(long)-sizeof(int32_t))))
#endif
It should work on both big-endian/32-bit and big-endian/64-bit; nonetheless it will fail
'long' isn't equal to 'zend_long' (e.g. Windows/64-bit)
------------------------------------------------------------------------
[2019-12-16 10:17:34] lzsiga at freemail dot c3 dot hu
The following patch has been added/updated:
Patch Name: oci8_statement.patch_7_4_0boolean
Revision: 1576491454
URL: https://bugs.php.net/patch-display.php?bug=73002&patch=oci8_statement.patch_7_4_0boolean&revision=1576491454
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=73002
--
Edit this bug report at https://bugs.php.net/bug.php?id=73002&edit=1