|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-05-02 01:12 UTC] gem at rellim dot com
Description: ------------ I am trying to compile PHP 5.0RC2 with sybase support by way of the freetds libraries. This has been working fine with many versions of PHP 4. Now it will not compile. Reproduce code: --------------- Using FreTDS 0.61.2 and 0.62.3. This is in my ./configure: --with-sybase=/usr/local Actual result: -------------- /usr/local/src/php-5.0.0RC2/ext/sybase/php_sybase_db.c: In function `zif_sybase_fetch_object': /usr/local/src/php-5.0.0RC2/ext/sybase/php_sybase_db.c:1110: invalid lvalue in assignment /usr/local/src/php-5.0.0RC2/ext/sybase/php_sybase_db.c:1111: invalid lvalue in assignment make: *** [ext/sybase/php_sybase_db.lo] Error 1 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 19:00:02 2025 UTC |
found a fix: change the code of sybase_fetch_object to: PHP_FUNCTION(sybase_fetch_object) { php_sybase_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU); if (Z_TYPE_P(return_value)==IS_ARRAY) { object_and_properties_init(return_value, ZEND_STANDARD_CLASS_DEF_PTR, Z_ARRVAL_P(return_value)); } }Still fails on 5.0.0 release. Monkey See, Monkey Do. I looked at the source and comprehension eluded me. So I looked at similar code. Here is the patch I came up with that appears to work: --- php_sybase_db.c.DIST 2004-07-19 20:13:37.000000000 -0700 +++ php_sybase_db.c 2004-07-19 20:13:59.000000000 -0700 @@ -1108,9 +1108,7 @@ { php_sybase_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU); if (Z_TYPE_P(return_value)==IS_ARRAY) { - Z_TYPE_P(return_value)=IS_OBJECT; - Z_OBJPROP_P(return_value) = Z_ARRVAL_P(return_value); - Z_OBJCE_P(return_value) = ZEND_STANDARD_CLASS_DEF_PTR; + object_and_properties_init(return_value, ZEND_STANDARD_CLASS_DEF_PTR, Z_ARRVAL_P(return_value)); } } /* }}} */