Re: op_array.opcode restructure patch
[email protected] (Mark Skilbeck) Sun, 30 May 2010 22:37:37 +0100
| Newsgroups | php.gtk.dev |
|---|---|
| Message-ID | <[email protected]> |
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: >>> 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
r298203-2.patch.txt
(text/plain, 2.6 KB)
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) {