Re: op_array.opcode restructure patch
| From: | Mark Skilbeck | Date: | Sun, 30 May 2010 21:37:37 +0000 |
| Subject: | Re: op_array.opcode restructure patch | ||
| References: | 1 2 3 | Groups: | php.gtk.dev |
| Request: | Send a blank email to php-gtk-dev+get-4459@lists.php.net to get a copy of this message | ||
On 30/05/10 21:21, Mark Skilbeck wrote:
> On 26/05/10 12:35, Elizabeth M Smith wrote:
>> On 5/25/2010 3:31 PM, Mark Skilbeck wrote:
>>> See:
>>> http://svn.php.net/viewvc?view=revision&revision=298203
>>>
>>> The above revision adds an extra parameter (const struct _zend_literal
>>> *key) to the following function pointers:
>>> •nÏnÊ.
>>> ãÔ¸î=http://svn.php.net/viewvc/php/php-src/trunk/Zend/zend_object_handlers.h?r1=298203&r2=298202&pathrev=298203
>>>
>>>
>>>
>>>
>>
>> Does that need a version check ifdef around it? These changes are only
>> in HEAD and php-gtk has to compile against 5.2 and 5.3 as well...
>>
>> Thanks,
>> Elizabeth
>
> That's a good point. However, I'm not sure what that check would look
> like. How do you check for compilation of trunk?
>
I think this patch should do, though I haven't been able to test it.
--
Mark Skilbeck
mahcuz.com | gtk.php.net | pecl.php.net/cairo | docs.php.net
Index: main/phpg_closure.c =================================================================== --- main/phpg_closure.c (revision 299967) +++ main/phpg_closure.c (working copy) @@ -243,7 +243,11 @@ g_free(lc_method_name); if (Z_OBJ_HT_P(php_object)->get_method != NULL + #if PHP_VERSION_ID < 50399 && (func = Z_OBJ_HT_P(php_object)->get_method(&php_object, method_name, method_name_len TSRMLS_CC)) != NULL) { + #else + && (func = Z_OBJ_HT_P(php_object)->get_method(&php_object, method_name, method_name_len, NULL TSRMLS_CC)) != NULL) { + #endif if (func->type == ZEND_INTERNAL_FUNCTION && ((zend_internal_function*)func)->handler == zend_std_call_user_call ) { Index: main/phpg_support.c =================================================================== --- main/phpg_support.c (revision 299967) +++ main/phpg_support.c (working copy) @@ -63,7 +63,11 @@ result_ptr = EG(uninitialized_zval_ptr); } } else { + #if PHP_VERSION_ID < 50399 result_ptr = zend_get_std_object_handlers()->read_property(object, member, type TSRMLS_CC); + #else + result_ptr = zend_get_std_object_handlers()->read_property(object, member, type, NULL TSRMLS_CC); + #endif } if (member == &tmp_member) { @@ -102,7 +106,11 @@ php_error(E_NOTICE, "PHP-GTK: ignoring write attempt to the read only property"); } } else { + #if PHP_VERSION_ID < 50399 zend_get_std_object_handlers()->write_property(object, member, value TSRMLS_CC); + #else + zend_get_std_object_handlers()->write_property(object, member, value, NULL TSRMLS_CC); + #endif } if (member == &tmp_member) { @@ -144,7 +152,11 @@ */ result = NULL; } else { - result = zend_get_std_object_handlers()->get_property_ptr_ptr(object, member TSRMLS_CC); + #if PHP_VERSION_ID < 50399 + result = zend_get_std_object_handlers()->get_property_ptr_ptr(object, member TSRMLS_CC); + #else + result = zend_get_std_object_handlers()->get_property_ptr_ptr(object, member, NULL TSRMLS_CC); + #endif } if (member == &tmp_member) { Index: ext/gtk+/gdk.overrides =================================================================== --- ext/gtk+/gdk.overrides (revision 299967) +++ ext/gtk+/gdk.overrides (working copy) @@ -1162,7 +1162,7 @@ Z_SET_REFCOUNT_P(result, 0); Z_UNSET_ISREF_P(result); } else { - result = zend_get_std_object_handlers()->read_property(object, member, type TSRMLS_CC); + result = zend_get_std_object_handlers()->read_property(object, member, type, NULL TSRMLS_CC); } if (member == &tmp_member) {
Index: main/phpg_closure.c =================================================================== --- main/phpg_closure.c (revision 299967) +++ main/phpg_closure.c (working copy) @@ -243,7 +243,11 @@ g_free(lc_method_name); if (Z_OBJ_HT_P(php_object)->get_method != NULL + #if PHP_VERSION_ID < 50399 && (func = Z_OBJ_HT_P(php_object)->get_method(&php_object, method_name, method_name_len TSRMLS_CC)) != NULL) { + #else + && (func = Z_OBJ_HT_P(php_object)->get_method(&php_object, method_name, method_name_len, NULL TSRMLS_CC)) != NULL) { + #endif if (func->type == ZEND_INTERNAL_FUNCTION && ((zend_internal_function*)func)->handler == zend_std_call_user_call ) { Index: main/phpg_support.c =================================================================== --- main/phpg_support.c (revision 299967) +++ main/phpg_support.c (working copy) @@ -63,7 +63,11 @@ result_ptr = EG(uninitialized_zval_ptr); } } else { + #if PHP_VERSION_ID < 50399 result_ptr = zend_get_std_object_handlers()->read_property(object, member, type TSRMLS_CC); + #else + result_ptr = zend_get_std_object_handlers()->read_property(object, member, type, NULL TSRMLS_CC); + #endif } if (member == &tmp_member) { @@ -102,7 +106,11 @@ php_error(E_NOTICE, "PHP-GTK: ignoring write attempt to the read only property"); } } else { + #if PHP_VERSION_ID < 50399 zend_get_std_object_handlers()->write_property(object, member, value TSRMLS_CC); + #else + zend_get_std_object_handlers()->write_property(object, member, value, NULL TSRMLS_CC); + #endif } if (member == &tmp_member) { @@ -144,7 +152,11 @@ */ result = NULL; } else { - result = zend_get_std_object_handlers()->get_property_ptr_ptr(object, member TSRMLS_CC); + #if PHP_VERSION_ID < 50399 + result = zend_get_std_object_handlers()->get_property_ptr_ptr(object, member TSRMLS_CC); + #else + result = zend_get_std_object_handlers()->get_property_ptr_ptr(object, member, NULL TSRMLS_CC); + #endif } if (member == &tmp_member) { Index: ext/gtk+/gdk.overrides =================================================================== --- ext/gtk+/gdk.overrides (revision 299967) +++ ext/gtk+/gdk.overrides (working copy) @@ -1162,7 +1162,7 @@ Z_SET_REFCOUNT_P(result, 0); Z_UNSET_ISREF_P(result); } else { - result = zend_get_std_object_handlers()->read_property(object, member, type TSRMLS_CC); + result = zend_get_std_object_handlers()->read_property(object, member, type, NULL TSRMLS_CC); } if (member == &tmp_member) {