Re: op_array.opcode restructure patch

From: 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) {
« previous php.gtk.dev (#4459) next »