Bug #73002 [PATCH]: bigendian64/php7/oci8: output bind-variables doesn't work

From: Date: Mon, 17 Aug 2020 10:52:07 +0000
Subject: Bug #73002 [PATCH]: bigendian64/php7/oci8: output bind-variables doesn't work
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-228621@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73002&edit=1

 ID:                 73002
 Patch added by:     lzsiga@freemail.c3.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:

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


Previous Comments:
------------------------------------------------------------------------
[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

------------------------------------------------------------------------
[2019-12-13 18:04:03] lzsiga at freemail dot c3 dot hu

Ok, I've started to work on the booleans, see here: http://lzsiga.users.sourceforge.net/bigendian_64_oci8.txt

------------------------------------------------------------------------
[2019-11-27 10:41:11] lzsiga at freemail dot c3 dot hu

@davereddy
Hi, sorry for the delay; I tried php bind_boolean_1.phpt with 7.4.0; the very first
test gave

    Test 1
    bool(false)
    bool(false)

while the file says it should be

    Test 1
    bool(true)
    bool(false)

I hope I'll be able look into this problem.

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


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


Thread (29 messages)

« previous php.bugs (#228621) next »