dmitry Thu Nov 27 19:01:27 2008 UTC Added files: (Branch: PHP_5_3) /ZendEngine2/tests bug46409.phpt
Modified files: /php-src NEWS /ZendEngine2 zend_API.c zend_API.h zend_closures.c zend_exceptions.c zend_execute_API.c zend_interfaces.c zend_object_handlers.c zend_object_handlers.h zend_vm_def.h zend_vm_execute.h /php-src/ext/curl interface.c /php-src/ext/dom xpath.c /php-src/ext/mysql php_mysql.c /php-src/ext/mysqli mysqli.c /php-src/ext/pdo pdo_dbh.c pdo_stmt.c /php-src/ext/pdo_sqlite sqlite_driver.c /php-src/ext/pgsql pgsql.c /php-src/ext/reflection php_reflection.c /php-src/ext/soap soap.c /php-src/ext/spl php_spl.c spl_directory.c /php-src/ext/sqlite sqlite.c /php-src/ext/sqlite3 sqlite3.c /php-src/ext/xml xml.c /php-src/ext/xsl xsltprocessor.c /php-src/main/streams userspace.c Log: Fixed bug #46409 (__invoke method called outside of object context when using array_map)
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.391&r2=1.2027.2.547.2.965.2.392&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.391 php-src/NEWS:1.2027.2.547.2.965.2.392 --- php-src/NEWS:1.2027.2.547.2.965.2.391 Thu Nov 27 08:44:56 2008 +++ php-src/NEWS Thu Nov 27 19:01:18 2008 @@ -41,6 +41,8 @@ - Fixed bug #46546 (Segmentation fault when using declare statement with non-string value). (Felipe) - Fixed bug #46421 (SplFileInfo not correctly handling /). (Etienne) +- Fixed bug #46409 (__invoke method called outside of object context when using + array_map). (Dmitry) - Fixed bug #46331 - (Segfault when using internal fileinfo magic file on big endian systems). (Scott) - Fixed bug #46285 (lastInsertId() returns "0" when a deferenced PDOStatement is http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.296.2.27.2.34.2.57&r2=1.296.2.27.2.34.2.58&diff_format=u Index: ZendEngine2/zend_API.c diff -u ZendEngine2/zend_API.c:1.296.2.27.2.34.2.57 ZendEngine2/zend_API.c:1.296.2.27.2.34.2.58 --- ZendEngine2/zend_API.c:1.296.2.27.2.34.2.57 Tue Nov 25 22:15:22 2008 +++ ZendEngine2/zend_API.c Thu Nov 27 19:01:19 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_API.c,v 1.296.2.27.2.34.2.57 2008/11/25 22:15:22 stas Exp $ */ +/* $Id: zend_API.c,v 1.296.2.27.2.34.2.58 2008/11/27 19:01:19 dmitry Exp $ */ #include "zend.h" #include "zend_execute.h" @@ -2329,8 +2329,8 @@ } else { fcc->called_scope = EG(called_scope); fcc->calling_scope = EG(scope); - if (!fcc->object_pp) { - fcc->object_pp = EG(This) ? &EG(This) : NULL; + if (!fcc->object_ptr) { + fcc->object_ptr = EG(This); } ret = 1; } @@ -2343,8 +2343,8 @@ } else { fcc->called_scope = EG(called_scope); fcc->calling_scope = EG(scope)->parent; - if (!fcc->object_pp) { - fcc->object_pp = EG(This) ? &EG(This) : NULL; + if (!fcc->object_ptr) { + fcc->object_ptr = EG(This); } ret = 1; } @@ -2355,8 +2355,8 @@ } else { fcc->called_scope = EG(called_scope); fcc->calling_scope = EG(called_scope); - if (!fcc->object_pp) { - fcc->object_pp = EG(This) ? &EG(This) : NULL; + if (!fcc->object_ptr) { + fcc->object_ptr = EG(This); } ret = 1; } @@ -2364,13 +2364,13 @@ zend_class_entry *scope = EG(active_op_array) ? EG(active_op_array)->scope : NULL; fcc->calling_scope = *pce; - if (scope && !fcc->object_pp && EG(This) && + if (scope && !fcc->object_ptr && EG(This) && instanceof_function(Z_OBJCE_P(EG(This)), scope TSRMLS_CC) && instanceof_function(scope, fcc->calling_scope TSRMLS_CC)) { - fcc->object_pp = &EG(This); - fcc->called_scope = Z_OBJCE_PP(fcc->object_pp); + fcc->object_ptr = EG(This); + fcc->called_scope = Z_OBJCE_P(fcc->object_ptr); } else { - fcc->called_scope = fcc->object_pp ? Z_OBJCE_PP(fcc->object_pp) : fcc->calling_scope; + fcc->called_scope = fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : fcc->calling_scope; } ret = 1; } else { @@ -2480,9 +2480,9 @@ fcc->function_handler = priv_fbc; } } - } else if (fcc->object_pp) { - if (Z_OBJ_HT_PP(fcc->object_pp)->get_method) { - fcc->function_handler = Z_OBJ_HT_PP(fcc->object_pp)->get_method(fcc->object_pp, mname, mlen TSRMLS_CC); + } else if (fcc->object_ptr) { + if (Z_OBJ_HT_P(fcc->object_ptr)->get_method) { + fcc->function_handler = Z_OBJ_HT_P(fcc->object_ptr)->get_method(&fcc->object_ptr, mname, mlen TSRMLS_CC); retval = fcc->function_handler ? 1 : 0; call_via_handler = 1; } @@ -2498,7 +2498,7 @@ if (retval) { if (fcc->calling_scope && !call_via_handler) { - if (!fcc->object_pp && !(fcc->function_handler->common.fn_flags & ZEND_ACC_STATIC)) { + if (!fcc->object_ptr && !(fcc->function_handler->common.fn_flags & ZEND_ACC_STATIC)) { int severity; char *verb; if (fcc->function_handler->common.fn_flags & ZEND_ACC_ALLOW_STATIC) { @@ -2513,7 +2513,7 @@ retval = 0; } if (EG(This) && instanceof_function(Z_OBJCE_P(EG(This)), fcc->calling_scope TSRMLS_CC)) { - fcc->object_pp = &EG(This); + fcc->object_ptr = EG(This); if (error) { zend_spprintf(error, 0, "non-static method %s::%s() %s be called statically, assuming $this from compatible context %s", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb, Z_OBJCE_P(EG(This))->name); } else if (retval) { @@ -2529,7 +2529,7 @@ } if (retval && (check_flags & IS_CALLABLE_CHECK_NO_ACCESS) == 0) { if (fcc->function_handler->op_array.fn_flags & ZEND_ACC_PRIVATE) { - if (!zend_check_private(fcc->function_handler, fcc->object_pp ? Z_OBJCE_PP(fcc->object_pp) : EG(scope), lmname, mlen TSRMLS_CC)) { + if (!zend_check_private(fcc->function_handler, fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : EG(scope), lmname, mlen TSRMLS_CC)) { if (error) { if (*error) { efree(*error); @@ -2560,8 +2560,8 @@ } efree(lmname); - if (fcc->object_pp) { - fcc->called_scope = Z_OBJCE_PP(fcc->object_pp); + if (fcc->object_ptr) { + fcc->called_scope = Z_OBJCE_P(fcc->object_ptr); } if (retval) { fcc->initialized = 1; @@ -2570,7 +2570,7 @@ } /* }}} */ -ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval **object_pp, uint check_flags, char **callable_name, int *callable_name_len, zend_fcall_info_cache *fcc, char **error TSRMLS_DC) /* {{{ */ +ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint check_flags, char **callable_name, int *callable_name_len, zend_fcall_info_cache *fcc, char **error TSRMLS_DC) /* {{{ */ { zend_bool ret; int callable_name_len_local; @@ -2594,22 +2594,22 @@ fcc->called_scope = NULL; fcc->function_handler = NULL; fcc->calling_scope = NULL; - fcc->object_pp = NULL; + fcc->object_ptr = NULL; - if (object_pp && (!*object_pp || Z_TYPE_PP(object_pp) != IS_OBJECT)) { - object_pp = NULL; + if (object_ptr && Z_TYPE_P(object_ptr) != IS_OBJECT) { + object_ptr = NULL; } - if (object_pp && + if (object_ptr && (!EG(objects_store).object_buckets || - !EG(objects_store).object_buckets[Z_OBJ_HANDLE_PP(object_pp)].valid)) { + !EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(object_ptr)].valid)) { return 0; } switch (Z_TYPE_P(callable)) { case IS_STRING: - if (object_pp && *object_pp) { - fcc->object_pp = object_pp; - fcc->calling_scope = Z_OBJCE_PP(object_pp); + if (object_ptr) { + fcc->object_ptr = object_ptr; + fcc->calling_scope = Z_OBJCE_P(object_ptr); if (callable_name) { char *ptr; @@ -2687,7 +2687,7 @@ fcc->calling_scope = Z_OBJCE_PP(obj); /* TBFixed: what if it's overloaded? */ - fcc->object_pp = obj; + fcc->object_ptr = *obj; if (callable_name) { char *ptr; @@ -2740,7 +2740,7 @@ return 0; case IS_OBJECT: - if (Z_OBJ_HANDLER_P(callable, get_closure) && Z_OBJ_HANDLER_P(callable, get_closure)(callable, &fcc->calling_scope, &fcc->function_handler, NULL, &fcc->object_pp TSRMLS_CC) == SUCCESS) { + if (Z_OBJ_HANDLER_P(callable, get_closure) && Z_OBJ_HANDLER_P(callable, get_closure)(callable, &fcc->calling_scope, &fcc->function_handler, &fcc->object_ptr TSRMLS_CC) == SUCCESS) { fcc->called_scope = fcc->calling_scope; if (callable_name) { zend_class_entry *ce = Z_OBJCE_P(callable); /* TBFixed: what if it's overloaded? */ @@ -2811,7 +2811,7 @@ fci->size = sizeof(*fci); fci->function_table = fcc->calling_scope ? &fcc->calling_scope->function_table : EG(function_table); - fci->object_pp = fcc->object_pp; + fci->object_ptr = fcc->object_ptr; fci->function_name = callable; fci->retval_ptr_ptr = NULL; fci->param_count = 0; http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.h?r1=1.207.2.8.2.8.2.22&r2=1.207.2.8.2.8.2.23&diff_format=u Index: ZendEngine2/zend_API.h diff -u ZendEngine2/zend_API.h:1.207.2.8.2.8.2.22 ZendEngine2/zend_API.h:1.207.2.8.2.8.2.23 --- ZendEngine2/zend_API.h:1.207.2.8.2.8.2.22 Mon Nov 17 11:27:53 2008 +++ ZendEngine2/zend_API.h Thu Nov 27 19:01:19 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_API.h,v 1.207.2.8.2.8.2.22 2008/11/17 11:27:53 felipe Exp $ */ +/* $Id: zend_API.h,v 1.207.2.8.2.8.2.23 2008/11/27 19:01:19 dmitry Exp $ */ #ifndef ZEND_API_H #define ZEND_API_H @@ -48,7 +48,7 @@ zval **retval_ptr_ptr; zend_uint param_count; zval ***params; - zval **object_pp; + zval *object_ptr; zend_bool no_separation; } zend_fcall_info; @@ -57,7 +57,7 @@ zend_function *function_handler; zend_class_entry *calling_scope; zend_class_entry *called_scope; - zval **object_pp; + zval *object_ptr; } zend_fcall_info_cache; #define ZEND_NS_NAME(ns, name) ns"\\"name @@ -277,7 +277,7 @@ #define IS_CALLABLE_STRICT (IS_CALLABLE_CHECK_IS_STATIC) -ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval **object_pp, uint check_flags, char **callable_name, int *callable_name_len, zend_fcall_info_cache *fcc, char **error TSRMLS_DC); +ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint check_flags, char **callable_name, int *callable_name_len, zend_fcall_info_cache *fcc, char **error TSRMLS_DC); ZEND_API zend_bool zend_is_callable(zval *callable, uint check_flags, char **callable_name TSRMLS_DC); ZEND_API zend_bool zend_make_callable(zval *callable, char **callable_name TSRMLS_DC); ZEND_API const char *zend_get_module_version(const char *module_name); http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_closures.c?r1=1.3.2.14&r2=1.3.2.15&diff_format=u Index: ZendEngine2/zend_closures.c diff -u ZendEngine2/zend_closures.c:1.3.2.14 ZendEngine2/zend_closures.c:1.3.2.15 --- ZendEngine2/zend_closures.c:1.3.2.14 Wed Sep 17 13:08:53 2008 +++ ZendEngine2/zend_closures.c Thu Nov 27 19:01:19 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_closures.c,v 1.3.2.14 2008/09/17 13:08:53 dmitry Exp $ */ +/* $Id: zend_closures.c,v 1.3.2.15 2008/11/27 19:01:19 dmitry Exp $ */ #include "zend.h" #include "zend_API.h" @@ -209,7 +209,7 @@ } /* }}} */ -int zend_closure_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zval **zobj_ptr, zval ***zobj_ptr_ptr TSRMLS_DC) /* {{{ */ +int zend_closure_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zval **zobj_ptr TSRMLS_DC) /* {{{ */ { zend_closure *closure; @@ -224,17 +224,11 @@ if (zobj_ptr) { *zobj_ptr = closure->this_ptr; } - if (zobj_ptr_ptr) { - *zobj_ptr_ptr = &closure->this_ptr; - } *ce_ptr = Z_OBJCE_P(closure->this_ptr); } else { if (zobj_ptr) { *zobj_ptr = NULL; } - if (zobj_ptr_ptr) { - *zobj_ptr_ptr = NULL; - } *ce_ptr = closure->func.common.scope; } return SUCCESS; http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_exceptions.c?r1=1.79.2.6.2.9.2.17&r2=1.79.2.6.2.9.2.18&diff_format=u Index: ZendEngine2/zend_exceptions.c diff -u ZendEngine2/zend_exceptions.c:1.79.2.6.2.9.2.17 ZendEngine2/zend_exceptions.c:1.79.2.6.2.9.2.18 --- ZendEngine2/zend_exceptions.c:1.79.2.6.2.9.2.17 Mon Nov 17 11:27:53 2008 +++ ZendEngine2/zend_exceptions.c Thu Nov 27 19:01:19 2008 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_exceptions.c,v 1.79.2.6.2.9.2.17 2008/11/17 11:27:53 felipe Exp $ */ +/* $Id: zend_exceptions.c,v 1.79.2.6.2.9.2.18 2008/11/27 19:01:19 dmitry Exp $ */ #include "zend.h" #include "zend_API.h" @@ -551,7 +551,7 @@ fci.function_table = &Z_OBJCE_P(exception)->function_table; fci.function_name = &fname; fci.symbol_table = NULL; - fci.object_pp = &exception; + fci.object_ptr = exception; fci.retval_ptr_ptr = &trace; fci.param_count = 0; fci.params = NULL; http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute_API.c?r1=1.331.2.20.2.24.2.66&r2=1.331.2.20.2.24.2.67&diff_format=u Index: ZendEngine2/zend_execute_API.c diff -u ZendEngine2/zend_execute_API.c:1.331.2.20.2.24.2.66 ZendEngine2/zend_execute_API.c:1.331.2.20.2.24.2.67 --- ZendEngine2/zend_execute_API.c:1.331.2.20.2.24.2.66 Tue Nov 25 21:14:23 2008 +++ ZendEngine2/zend_execute_API.c Thu Nov 27 19:01:19 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_execute_API.c,v 1.331.2.20.2.24.2.66 2008/11/25 21:14:23 felipe Exp $ */ +/* $Id: zend_execute_API.c,v 1.331.2.20.2.24.2.67 2008/11/27 19:01:19 dmitry Exp $ */ #include <stdio.h> #include <signal.h> @@ -715,7 +715,7 @@ fci.size = sizeof(fci); fci.function_table = function_table; - fci.object_pp = object_pp; + fci.object_ptr = object_pp ? *object_pp : NULL; fci.function_name = function_name; fci.retval_ptr_ptr = retval_ptr_ptr; fci.param_count = param_count; @@ -782,7 +782,7 @@ fci_cache = &fci_cache_local; } - if (!zend_is_callable_ex(fci->function_name, fci->object_pp, IS_CALLABLE_CHECK_SILENT, &callable_name, NULL, fci_cache, &error TSRMLS_CC)) { + if (!zend_is_callable_ex(fci->function_name, fci->object_ptr, IS_CALLABLE_CHECK_SILENT, &callable_name, NULL, fci_cache, &error TSRMLS_CC)) { if (error) { zend_error(E_WARNING, "Invalid callback %s, %s", callable_name, error); efree(error); @@ -805,10 +805,10 @@ EX(function_state).function = fci_cache->function_handler; calling_scope = fci_cache->calling_scope; called_scope = fci_cache->called_scope; - fci->object_pp = fci_cache->object_pp; - EX(object) = fci->object_pp ? *fci->object_pp : NULL; - if (fci->object_pp && *fci->object_pp && Z_TYPE_PP(fci->object_pp) == IS_OBJECT && - (!EG(objects_store).object_buckets || !EG(objects_store).object_buckets[Z_OBJ_HANDLE_PP(fci->object_pp)].valid)) { + fci->object_ptr = fci_cache->object_ptr; + EX(object) = fci->object_ptr; + if (fci->object_ptr && Z_TYPE_P(fci->object_ptr) == IS_OBJECT && + (!EG(objects_store).object_buckets || !EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(fci->object_ptr)].valid)) { return FAILURE; } @@ -886,11 +886,11 @@ EG(called_scope) = NULL; } - if (fci->object_pp) { + if (fci->object_ptr) { if ((EX(function_state).function->common.fn_flags & ZEND_ACC_STATIC)) { EG(This) = NULL; } else { - EG(This) = *fci->object_pp; + EG(This) = fci->object_ptr; if (!PZVAL_IS_REF(EG(This))) { Z_ADDREF_P(EG(This)); /* For $this pointer */ @@ -947,7 +947,7 @@ if (EX(function_state).function->common.scope) { EG(scope) = EX(function_state).function->common.scope; } - ((zend_internal_function *) EX(function_state).function)->handler(fci->param_count, *fci->retval_ptr_ptr, fci->retval_ptr_ptr, (fci->object_pp?*fci->object_pp:NULL), 1 TSRMLS_CC); + ((zend_internal_function *) EX(function_state).function)->handler(fci->param_count, *fci->retval_ptr_ptr, fci->retval_ptr_ptr, fci->object_ptr, 1 TSRMLS_CC); /* We shouldn't fix bad extensions here, because it can break proper ones (Bug #34045) if (!EX(function_state).function->common.return_reference) @@ -967,8 +967,8 @@ ALLOC_INIT_ZVAL(*fci->retval_ptr_ptr); /* Not sure what should be done here if it's a static method */ - if (fci->object_pp) { - Z_OBJ_HT_PP(fci->object_pp)->call_method(EX(function_state).function->common.function_name, fci->param_count, *fci->retval_ptr_ptr, fci->retval_ptr_ptr, *fci->object_pp, 1 TSRMLS_CC); + if (fci->object_ptr) { + Z_OBJ_HT_P(fci->object_ptr)->call_method(EX(function_state).function->common.function_name, fci->param_count, *fci->retval_ptr_ptr, fci->retval_ptr_ptr, fci->object_ptr, 1 TSRMLS_CC); } else { zend_error_noreturn(E_ERROR, "Cannot call overloaded function for non-object"); } @@ -1065,14 +1065,14 @@ fcall_info.retval_ptr_ptr = &retval_ptr; fcall_info.param_count = 1; fcall_info.params = args; - fcall_info.object_pp = NULL; + fcall_info.object_ptr = NULL; fcall_info.no_separation = 1; fcall_cache.initialized = EG(autoload_func) ? 1 : 0; fcall_cache.function_handler = EG(autoload_func); fcall_cache.calling_scope = NULL; fcall_cache.called_scope = NULL; - fcall_cache.object_pp = NULL; + fcall_cache.object_ptr = NULL; zend_exception_save(TSRMLS_C); retval = zend_call_function(&fcall_info, &fcall_cache TSRMLS_CC); http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_interfaces.c?r1=1.33.2.4.2.6.2.9&r2=1.33.2.4.2.6.2.10&diff_format=u Index: ZendEngine2/zend_interfaces.c diff -u ZendEngine2/zend_interfaces.c:1.33.2.4.2.6.2.9 ZendEngine2/zend_interfaces.c:1.33.2.4.2.6.2.10 --- ZendEngine2/zend_interfaces.c:1.33.2.4.2.6.2.9 Mon Nov 17 11:27:53 2008 +++ ZendEngine2/zend_interfaces.c Thu Nov 27 19:01:19 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_interfaces.c,v 1.33.2.4.2.6.2.9 2008/11/17 11:27:53 felipe Exp $ */ +/* $Id: zend_interfaces.c,v 1.33.2.4.2.6.2.10 2008/11/27 19:01:19 dmitry Exp $ */ #include "zend.h" #include "zend_API.h" @@ -46,7 +46,7 @@ fci.size = sizeof(fci); /*fci.function_table = NULL; will be read form zend_class_entry of object if needed */ - fci.object_pp = object_pp; + fci.object_ptr = object_pp ? *object_pp : NULL; fci.function_name = &z_fname; fci.retval_ptr_ptr = retval_ptr_ptr ? retval_ptr_ptr : &retval; fci.param_count = param_count; @@ -85,7 +85,7 @@ } fcic.calling_scope = obj_ce; fcic.called_scope = object_pp ? obj_ce : EG(called_scope); - fcic.object_pp = object_pp; + fcic.object_ptr = object_pp ? *object_pp : NULL; result = zend_call_function(&fci, &fcic TSRMLS_CC); } if (result == FAILURE) { http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_object_handlers.c?r1=1.135.2.6.2.22.2.21&r2=1.135.2.6.2.22.2.22&diff_format=u Index: ZendEngine2/zend_object_handlers.c diff -u ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.21 ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.22 --- ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.21 Fri Oct 17 10:26:07 2008 +++ ZendEngine2/zend_object_handlers.c Thu Nov 27 19:01:19 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_object_handlers.c,v 1.135.2.6.2.22.2.21 2008/10/17 10:26:07 dmitry Exp $ */ +/* $Id: zend_object_handlers.c,v 1.135.2.6.2.22.2.22 2008/11/27 19:01:19 dmitry Exp $ */ #include "zend.h" #include "zend_globals.h" @@ -1270,7 +1270,7 @@ } /* }}} */ -int zend_std_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zval **zobj_ptr, zval ***zobj_ptr_ptr TSRMLS_DC) /* {{{ */ +int zend_std_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zval **zobj_ptr TSRMLS_DC) /* {{{ */ { zend_class_entry *ce; if (Z_TYPE_P(obj) != IS_OBJECT) { @@ -1288,16 +1288,10 @@ if (zobj_ptr) { *zobj_ptr = NULL; } - if (zobj_ptr_ptr) { - *zobj_ptr_ptr = NULL; - } } else { if (zobj_ptr) { *zobj_ptr = obj; } - if (zobj_ptr_ptr) { - *zobj_ptr_ptr = NULL; - } } return SUCCESS; } http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_object_handlers.h?r1=1.47.2.2.2.5.2.5&r2=1.47.2.2.2.5.2.6&diff_format=u Index: ZendEngine2/zend_object_handlers.h diff -u ZendEngine2/zend_object_handlers.h:1.47.2.2.2.5.2.5 ZendEngine2/zend_object_handlers.h:1.47.2.2.2.5.2.6 --- ZendEngine2/zend_object_handlers.h:1.47.2.2.2.5.2.5 Thu Aug 14 21:36:56 2008 +++ ZendEngine2/zend_object_handlers.h Thu Nov 27 19:01:19 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_object_handlers.h,v 1.47.2.2.2.5.2.5 2008/08/14 21:36:56 colder Exp $ */ +/* $Id: zend_object_handlers.h,v 1.47.2.2.2.5.2.6 2008/11/27 19:01:19 dmitry Exp $ */ #ifndef ZEND_OBJECT_HANDLERS_H #define ZEND_OBJECT_HANDLERS_H @@ -108,7 +108,7 @@ * Returns FAILURE if the object does not have any sense of overloaded dimensions */ typedef int (*zend_object_count_elements_t)(zval *object, long *count TSRMLS_DC); -typedef int (*zend_object_get_closure_t)(zval *obj, zend_class_entry **ce_ptr, union _zend_function **fptr_ptr, zval **zobj_ptr, zval ***zobj_ptr_ptr TSRMLS_DC); +typedef int (*zend_object_get_closure_t)(zval *obj, zend_class_entry **ce_ptr, union _zend_function **fptr_ptr, zval **zobj_ptr TSRMLS_DC); struct _zend_object_handlers { /* general object functions */ http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_def.h?r1=1.59.2.29.2.48.2.76&r2=1.59.2.29.2.48.2.77&diff_format=u Index: ZendEngine2/zend_vm_def.h diff -u ZendEngine2/zend_vm_def.h:1.59.2.29.2.48.2.76 ZendEngine2/zend_vm_def.h:1.59.2.29.2.48.2.77 --- ZendEngine2/zend_vm_def.h:1.59.2.29.2.48.2.76 Wed Nov 19 02:00:50 2008 +++ ZendEngine2/zend_vm_def.h Thu Nov 27 19:01:19 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_vm_def.h,v 1.59.2.29.2.48.2.76 2008/11/19 02:00:50 colder Exp $ */ +/* $Id: zend_vm_def.h,v 1.59.2.29.2.48.2.77 2008/11/27 19:01:19 dmitry Exp $ */ /* If you change this file, please regenerate the zend_vm_execute.h and * zend_vm_opcodes.h files by running: @@ -2067,7 +2067,7 @@ if (Z_TYPE_P(function_name) == IS_OBJECT && Z_OBJ_HANDLER_P(function_name, get_closure) && - Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object), NULL TSRMLS_CC) == SUCCESS) { + Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object) TSRMLS_CC) == SUCCESS) { if (EX(object)) { Z_ADDREF_P(EX(object)); } http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_execute.h?r1=1.62.2.30.2.49.2.76&r2=1.62.2.30.2.49.2.77&diff_format=u Index: ZendEngine2/zend_vm_execute.h diff -u ZendEngine2/zend_vm_execute.h:1.62.2.30.2.49.2.76 ZendEngine2/zend_vm_execute.h:1.62.2.30.2.49.2.77 --- ZendEngine2/zend_vm_execute.h:1.62.2.30.2.49.2.76 Wed Nov 19 02:00:50 2008 +++ ZendEngine2/zend_vm_execute.h Thu Nov 27 19:01:19 2008 @@ -749,7 +749,7 @@ if (Z_TYPE_P(function_name) == IS_OBJECT && Z_OBJ_HANDLER_P(function_name, get_closure) && - Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object), NULL TSRMLS_CC) == SUCCESS) { + Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object) TSRMLS_CC) == SUCCESS) { if (EX(object)) { Z_ADDREF_P(EX(object)); } @@ -946,7 +946,7 @@ if (Z_TYPE_P(function_name) == IS_OBJECT && Z_OBJ_HANDLER_P(function_name, get_closure) && - Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object), NULL TSRMLS_CC) == SUCCESS) { + Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object) TSRMLS_CC) == SUCCESS) { if (EX(object)) { Z_ADDREF_P(EX(object)); } @@ -1051,7 +1051,7 @@ if (Z_TYPE_P(function_name) == IS_OBJECT && Z_OBJ_HANDLER_P(function_name, get_closure) && - Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object), NULL TSRMLS_CC) == SUCCESS) { + Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object) TSRMLS_CC) == SUCCESS) { if (EX(object)) { Z_ADDREF_P(EX(object)); } @@ -1184,7 +1184,7 @@ if (Z_TYPE_P(function_name) == IS_OBJECT && Z_OBJ_HANDLER_P(function_name, get_closure) && - Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object), NULL TSRMLS_CC) == SUCCESS) { + Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &EX(called_scope), &EX(fbc), &EX(object) TSRMLS_CC) == SUCCESS) { if (EX(object)) { Z_ADDREF_P(EX(object)); } http://cvs.php.net/viewvc.cgi/php-src/ext/curl/interface.c?r1=1.62.2.14.2.27.2.20&r2=1.62.2.14.2.27.2.21&diff_format=u Index: php-src/ext/curl/interface.c diff -u php-src/ext/curl/interface.c:1.62.2.14.2.27.2.20 php-src/ext/curl/interface.c:1.62.2.14.2.27.2.21 --- php-src/ext/curl/interface.c:1.62.2.14.2.27.2.20 Thu Nov 27 17:00:04 2008 +++ php-src/ext/curl/interface.c Thu Nov 27 19:01:22 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interface.c,v 1.62.2.14.2.27.2.20 2008/11/27 17:00:04 iliaa Exp $ */ +/* $Id: interface.c,v 1.62.2.14.2.27.2.21 2008/11/27 19:01:22 dmitry Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -850,7 +850,7 @@ fci.size = sizeof(fci); fci.function_table = EG(function_table); - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.function_name = t->func_name; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = 2; @@ -923,7 +923,7 @@ fci.size = sizeof(fci); fci.function_table = EG(function_table); fci.function_name = t->func_name; - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = 3; fci.params = argv; @@ -1000,7 +1000,7 @@ fci.function_table = EG(function_table); fci.function_name = t->func_name; fci.symbol_table = NULL; - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = 2; fci.params = argv; http://cvs.php.net/viewvc.cgi/php-src/ext/dom/xpath.c?r1=1.26.2.1.2.1.2.10&r2=1.26.2.1.2.1.2.11&diff_format=u Index: php-src/ext/dom/xpath.c diff -u php-src/ext/dom/xpath.c:1.26.2.1.2.1.2.10 php-src/ext/dom/xpath.c:1.26.2.1.2.1.2.11 --- php-src/ext/dom/xpath.c:1.26.2.1.2.1.2.10 Wed Nov 19 02:00:53 2008 +++ php-src/ext/dom/xpath.c Thu Nov 27 19:01:22 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xpath.c,v 1.26.2.1.2.1.2.10 2008/11/19 02:00:53 colder Exp $ */ +/* $Id: xpath.c,v 1.26.2.1.2.1.2.11 2008/11/27 19:01:22 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -197,7 +197,7 @@ fci.function_name = &handler; fci.symbol_table = NULL; - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.retval_ptr_ptr = &retval; fci.no_separation = 0; http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.213.2.6.2.16.2.30&r2=1.213.2.6.2.16.2.31&diff_format=u Index: php-src/ext/mysql/php_mysql.c diff -u php-src/ext/mysql/php_mysql.c:1.213.2.6.2.16.2.30 php-src/ext/mysql/php_mysql.c:1.213.2.6.2.16.2.31 --- php-src/ext/mysql/php_mysql.c:1.213.2.6.2.16.2.30 Mon Oct 27 23:27:21 2008 +++ php-src/ext/mysql/php_mysql.c Thu Nov 27 19:01:22 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_mysql.c,v 1.213.2.6.2.16.2.30 2008/10/27 23:27:21 iliaa Exp $ */ +/* $Id: php_mysql.c,v 1.213.2.6.2.16.2.31 2008/11/27 19:01:22 dmitry Exp $ */ /* TODO: * @@ -2199,7 +2199,7 @@ fci.function_table = &ce->function_table; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &return_value; + fci.object_ptr = return_value; fci.retval_ptr_ptr = &retval_ptr; if (ctor_params && Z_TYPE_P(ctor_params) != IS_NULL) { if (Z_TYPE_P(ctor_params) == IS_ARRAY) { @@ -2233,7 +2233,7 @@ fcc.function_handler = ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(return_value); - fcc.object_pp = &return_value; + fcc.object_ptr = return_value; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 0 TSRMLS_CC, "Could not execute %s::%s()", ce->name, ce->constructor->common.function_name); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/mysqli.c?r1=1.72.2.16.2.17.2.32&r2=1.72.2.16.2.17.2.33&diff_format=u Index: php-src/ext/mysqli/mysqli.c diff -u php-src/ext/mysqli/mysqli.c:1.72.2.16.2.17.2.32 php-src/ext/mysqli/mysqli.c:1.72.2.16.2.17.2.33 --- php-src/ext/mysqli/mysqli.c:1.72.2.16.2.17.2.32 Tue Nov 18 17:02:17 2008 +++ php-src/ext/mysqli/mysqli.c Thu Nov 27 19:01:22 2008 @@ -17,7 +17,7 @@ | Ulf Wendel <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: mysqli.c,v 1.72.2.16.2.17.2.32 2008/11/18 17:02:17 andrey Exp $ + $Id: mysqli.c,v 1.72.2.16.2.17.2.33 2008/11/27 19:01:22 dmitry Exp $ */ #ifdef HAVE_CONFIG_H @@ -1275,7 +1275,7 @@ fci.function_table = &ce->function_table; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &return_value; + fci.object_ptr = return_value; fci.retval_ptr_ptr = &retval_ptr; if (ctor_params && Z_TYPE_P(ctor_params) != IS_NULL) { if (Z_TYPE_P(ctor_params) == IS_ARRAY) { @@ -1309,7 +1309,7 @@ fcc.function_handler = ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(return_value); - fcc.object_pp = &return_value; + fcc.object_ptr = return_value; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 0 TSRMLS_CC, "Could not execute %s::%s()", ce->name, ce->constructor->common.function_name); http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_dbh.c?r1=1.82.2.31.2.17.2.16&r2=1.82.2.31.2.17.2.17&diff_format=u Index: php-src/ext/pdo/pdo_dbh.c diff -u php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.17.2.16 php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.17.2.17 --- php-src/ext/pdo/pdo_dbh.c:1.82.2.31.2.17.2.16 Thu Nov 13 14:40:06 2008 +++ php-src/ext/pdo/pdo_dbh.c Thu Nov 27 19:01:22 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_dbh.c,v 1.82.2.31.2.17.2.16 2008/11/13 14:40:06 pajoye Exp $ */ +/* $Id: pdo_dbh.c,v 1.82.2.31.2.17.2.17 2008/11/27 19:01:22 dmitry Exp $ */ /* The PDO Database Handle Class */ @@ -454,7 +454,7 @@ fci.size = sizeof(zend_fcall_info); fci.function_table = &dbstmt_ce->function_table; fci.function_name = NULL; - fci.object_pp = &object; + fci.object_ptr = object; fci.symbol_table = NULL; fci.retval_ptr_ptr = &retval; if (ctor_args) { @@ -478,7 +478,7 @@ fcc.function_handler = dbstmt_ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(object); - fcc.object_pp = &object; + fcc.object_ptr = object; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { zval_dtor(object); http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_stmt.c?r1=1.118.2.38.2.24.2.37&r2=1.118.2.38.2.24.2.38&diff_format=u Index: php-src/ext/pdo/pdo_stmt.c diff -u php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.37 php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.38 --- php-src/ext/pdo/pdo_stmt.c:1.118.2.38.2.24.2.37 Mon Nov 17 11:27:57 2008 +++ php-src/ext/pdo/pdo_stmt.c Thu Nov 27 19:01:22 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_stmt.c,v 1.118.2.38.2.24.2.37 2008/11/17 11:27:57 felipe Exp $ */ +/* $Id: pdo_stmt.c,v 1.118.2.38.2.24.2.38 2008/11/27 19:01:22 dmitry Exp $ */ /* The PDO Statement Handle Class */ @@ -786,7 +786,7 @@ static int make_callable_ex(pdo_stmt_t *stmt, zval *callable, zend_fcall_info * fci, zend_fcall_info_cache * fcc, int num_args TSRMLS_DC) /* {{{ */ { - zval **object = NULL, **method = NULL; + zval *object = NULL, **method = NULL; char *fname = NULL, *cname; zend_class_entry * ce = NULL, **pce; zend_function *function_handler; @@ -796,19 +796,19 @@ pdo_raise_impl_error(stmt->dbh, stmt, "HY000", "user-supplied function must be a valid callback" TSRMLS_CC); return 0; } - object = (zval**)Z_ARRVAL_P(callable)->pListHead->pData; + object = *(zval**)Z_ARRVAL_P(callable)->pListHead->pData; method = (zval**)Z_ARRVAL_P(callable)->pListHead->pListNext->pData; - if (Z_TYPE_PP(object) == IS_STRING) { /* static call */ - if (zend_lookup_class(Z_STRVAL_PP(object), Z_STRLEN_PP(object), &pce TSRMLS_CC) == FAILURE) { + if (Z_TYPE_P(object) == IS_STRING) { /* static call */ + if (zend_lookup_class(Z_STRVAL_P(object), Z_STRLEN_P(object), &pce TSRMLS_CC) == FAILURE) { pdo_raise_impl_error(stmt->dbh, stmt, "HY000", "user-supplied class does not exist" TSRMLS_CC); return 0; } else { ce = *pce; } object = NULL; - } else if (Z_TYPE_PP(object) == IS_OBJECT) { /* object call */ - ce = Z_OBJCE_PP(object); + } else if (Z_TYPE_P(object) == IS_OBJECT) { /* object call */ + ce = Z_OBJCE_P(object); } else { pdo_raise_impl_error(stmt->dbh, stmt, "HY000", "user-supplied function must be a valid callback; bogus object/class name" TSRMLS_CC); return 0; @@ -868,13 +868,13 @@ fci->symbol_table = NULL; fci->param_count = num_args; /* probably less */ fci->params = safe_emalloc(sizeof(zval**), num_args, 0); - fci->object_pp = object; + fci->object_ptr = object; fcc->initialized = 1; fcc->function_handler = function_handler; fcc->calling_scope = EG(scope); - fcc->called_scope = object ? Z_OBJCE_PP(object) : NULL; - fcc->object_pp = object; + fcc->called_scope = object ? Z_OBJCE_P(object) : NULL; + fcc->object_ptr = object; return 1; } @@ -1042,8 +1042,8 @@ } } if (ce->constructor && (flags & PDO_FETCH_PROPS_LATE)) { - stmt->fetch.cls.fci.object_pp = &return_value; - stmt->fetch.cls.fcc.object_pp = &return_value; + stmt->fetch.cls.fci.object_ptr = return_value; + stmt->fetch.cls.fcc.object_ptr = return_value; if (zend_call_function(&stmt->fetch.cls.fci, &stmt->fetch.cls.fcc TSRMLS_CC) == FAILURE) { pdo_raise_impl_error(stmt->dbh, stmt, "HY000", "could not call class constructor" TSRMLS_CC); return 0; @@ -1242,8 +1242,8 @@ switch (how) { case PDO_FETCH_CLASS: if (ce->constructor && !(flags & PDO_FETCH_PROPS_LATE)) { - stmt->fetch.cls.fci.object_pp = &return_value; - stmt->fetch.cls.fcc.object_pp = &return_value; + stmt->fetch.cls.fci.object_ptr = return_value; + stmt->fetch.cls.fcc.object_ptr = return_value; if (zend_call_function(&stmt->fetch.cls.fci, &stmt->fetch.cls.fcc TSRMLS_CC) == FAILURE) { pdo_raise_impl_error(stmt->dbh, stmt, "HY000", "could not call class constructor" TSRMLS_CC); return 0; http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_sqlite/sqlite_driver.c?r1=1.20.2.5.2.2.2.3&r2=1.20.2.5.2.2.2.4&diff_format=u Index: php-src/ext/pdo_sqlite/sqlite_driver.c diff -u php-src/ext/pdo_sqlite/sqlite_driver.c:1.20.2.5.2.2.2.3 php-src/ext/pdo_sqlite/sqlite_driver.c:1.20.2.5.2.2.2.4 --- php-src/ext/pdo_sqlite/sqlite_driver.c:1.20.2.5.2.2.2.3 Sat Aug 2 04:46:06 2008 +++ php-src/ext/pdo_sqlite/sqlite_driver.c Thu Nov 27 19:01:22 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sqlite_driver.c,v 1.20.2.5.2.2.2.3 2008/08/02 04:46:06 felipe Exp $ */ +/* $Id: sqlite_driver.c,v 1.20.2.5.2.2.2.4 2008/11/27 19:01:22 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -308,7 +308,7 @@ fc->fci.function_table = EG(function_table); fc->fci.function_name = cb; fc->fci.symbol_table = NULL; - fc->fci.object_pp = NULL; + fc->fci.object_ptr = NULL; fc->fci.retval_ptr_ptr = &retval; fc->fci.param_count = fake_argc; http://cvs.php.net/viewvc.cgi/php-src/ext/pgsql/pgsql.c?r1=1.331.2.13.2.24.2.22&r2=1.331.2.13.2.24.2.23&diff_format=u Index: php-src/ext/pgsql/pgsql.c diff -u php-src/ext/pgsql/pgsql.c:1.331.2.13.2.24.2.22 php-src/ext/pgsql/pgsql.c:1.331.2.13.2.24.2.23 --- php-src/ext/pgsql/pgsql.c:1.331.2.13.2.24.2.22 Mon Nov 17 11:27:57 2008 +++ php-src/ext/pgsql/pgsql.c Thu Nov 27 19:01:22 2008 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.331.2.13.2.24.2.22 2008/11/17 11:27:57 felipe Exp $ */ +/* $Id: pgsql.c,v 1.331.2.13.2.24.2.23 2008/11/27 19:01:22 dmitry Exp $ */ #include <stdlib.h> @@ -2529,7 +2529,7 @@ fci.function_table = &ce->function_table; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &return_value; + fci.object_ptr = return_value; fci.retval_ptr_ptr = &retval_ptr; if (ctor_params && Z_TYPE_P(ctor_params) != IS_NULL) { if (Z_TYPE_P(ctor_params) == IS_ARRAY) { @@ -2563,7 +2563,7 @@ fcc.function_handler = ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(return_value); - fcc.object_pp = &return_value; + fcc.object_ptr = return_value; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 0 TSRMLS_CC, "Could not execute %s::%s()", ce->name, ce->constructor->common.function_name); http://cvs.php.net/viewvc.cgi/php-src/ext/reflection/php_reflection.c?r1=1.164.2.33.2.45.2.41&r2=1.164.2.33.2.45.2.42&diff_format=u Index: php-src/ext/reflection/php_reflection.c diff -u php-src/ext/reflection/php_reflection.c:1.164.2.33.2.45.2.41 php-src/ext/reflection/php_reflection.c:1.164.2.33.2.45.2.42 --- php-src/ext/reflection/php_reflection.c:1.164.2.33.2.45.2.41 Mon Nov 17 11:27:58 2008 +++ php-src/ext/reflection/php_reflection.c Thu Nov 27 19:01:22 2008 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_reflection.c,v 1.164.2.33.2.45.2.41 2008/11/17 11:27:58 felipe Exp $ */ +/* $Id: php_reflection.c,v 1.164.2.33.2.45.2.42 2008/11/27 19:01:22 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1275,7 +1275,7 @@ fci.function_table = NULL; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &reflector_ptr; + fci.object_ptr = reflector_ptr; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = ctor_argc; fci.params = params; @@ -1285,7 +1285,7 @@ fcc.function_handler = ce_ptr->constructor; fcc.calling_scope = ce_ptr; fcc.called_scope = Z_OBJCE_P(reflector_ptr); - fcc.object_pp = &reflector_ptr; + fcc.object_ptr = reflector_ptr; result = zend_call_function(&fci, &fcc TSRMLS_CC); @@ -1310,7 +1310,7 @@ ZVAL_STRINGL(&fname, "reflection::export", sizeof("reflection::export") - 1, 0); fci.function_table = &reflection_ptr->function_table; fci.function_name = &fname; - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = 2; fci.params = params; @@ -1653,7 +1653,7 @@ fci.function_table = NULL; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = num_args; fci.params = params; @@ -1663,7 +1663,7 @@ fcc.function_handler = fptr; fcc.calling_scope = EG(scope); fcc.called_scope = NULL; - fcc.object_pp = NULL; + fcc.object_ptr = NULL; result = zend_call_function(&fci, &fcc TSRMLS_CC); @@ -1718,7 +1718,7 @@ fci.function_table = NULL; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = argc; fci.params = params; @@ -1728,7 +1728,7 @@ fcc.function_handler = fptr; fcc.calling_scope = EG(scope); fcc.called_scope = NULL; - fcc.object_pp = NULL; + fcc.object_ptr = NULL; result = zend_call_function(&fci, &fcc TSRMLS_CC); @@ -2448,7 +2448,7 @@ { zval *retval_ptr; zval ***params = NULL; - zval **object_pp; + zval *object_ptr; reflection_object *intern; zend_function *mptr; int result, num_args = 0; @@ -2481,14 +2481,14 @@ return; } - /* In case this is a static method, we should'nt pass an object_pp + /* In case this is a static method, we should'nt pass an object_ptr * (which is used as calling context aka $this). We can thus ignore the * first parameter. * * Else, we verify that the given object is an instance of the class. */ if (mptr->common.fn_flags & ZEND_ACC_STATIC) { - object_pp = NULL; + object_ptr = NULL; obj_ce = mptr->common.scope; } else { if (Z_TYPE_PP(params[0]) != IS_OBJECT) { @@ -2507,14 +2507,14 @@ /* Returns from this function */ } - object_pp = params[0]; + object_ptr = *params[0]; } fci.size = sizeof(fci); fci.function_table = NULL; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = object_pp; + fci.object_ptr = object_ptr; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = num_args - 1; fci.params = params + 1; @@ -2524,7 +2524,7 @@ fcc.function_handler = mptr; fcc.calling_scope = obj_ce; fcc.called_scope = obj_ce; - fcc.object_pp = object_pp; + fcc.object_ptr = object_ptr; result = zend_call_function(&fci, &fcc TSRMLS_CC); @@ -2591,7 +2591,7 @@ zend_hash_apply_with_argument(Z_ARRVAL_P(param_array), (apply_func_arg_t)_zval_array_to_c_array, ¶ms TSRMLS_CC); params -= argc; - /* In case this is a static method, we should'nt pass an object_pp + /* In case this is a static method, we should'nt pass an object_ptr * (which is used as calling context aka $this). We can thus ignore the * first parameter. * @@ -2622,7 +2622,7 @@ fci.function_table = NULL; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &object; + fci.object_ptr = object; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = argc; fci.params = params; @@ -2632,7 +2632,7 @@ fcc.function_handler = mptr; fcc.calling_scope = obj_ce; fcc.called_scope = obj_ce; - fcc.object_pp = object ? &object : NULL; + fcc.object_ptr = object; result = zend_call_function(&fci, &fcc TSRMLS_CC); @@ -3701,7 +3701,7 @@ fci.function_table = EG(function_table); fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &return_value; + fci.object_ptr = return_value; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = num_args; fci.params = params; @@ -3711,7 +3711,7 @@ fcc.function_handler = ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(return_value); - fcc.object_pp = &return_value; + fcc.object_ptr = return_value; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { if (params) { @@ -3781,7 +3781,7 @@ fci.function_table = EG(function_table); fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &return_value; + fci.object_ptr = return_value; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = argc; fci.params = params; @@ -3791,7 +3791,7 @@ fcc.function_handler = ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(return_value); - fcc.object_pp = &return_value; + fcc.object_ptr = return_value; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { if (params) { @@ -5259,7 +5259,7 @@ php_info_print_table_start(); php_info_print_table_header(2, "Reflection", "enabled"); - php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.164.2.33.2.45.2.41 2008/11/17 11:27:58 felipe Exp $"); + php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.164.2.33.2.45.2.42 2008/11/27 19:01:22 dmitry Exp $"); php_info_print_table_end(); } /* }}} */ http://cvs.php.net/viewvc.cgi/php-src/ext/soap/soap.c?r1=1.156.2.28.2.30.2.28&r2=1.156.2.28.2.30.2.29&diff_format=u Index: php-src/ext/soap/soap.c diff -u php-src/ext/soap/soap.c:1.156.2.28.2.30.2.28 php-src/ext/soap/soap.c:1.156.2.28.2.30.2.29 --- php-src/ext/soap/soap.c:1.156.2.28.2.30.2.28 Thu Nov 27 11:25:39 2008 +++ php-src/ext/soap/soap.c Thu Nov 27 19:01:23 2008 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: soap.c,v 1.156.2.28.2.30.2.28 2008/11/27 11:25:39 dmitry Exp $ */ +/* $Id: soap.c,v 1.156.2.28.2.30.2.29 2008/11/27 19:01:23 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -999,7 +999,7 @@ fci.function_table = &Z_OBJCE_P(getThis())->function_table; fci.function_name = &fname; fci.symbol_table = NULL; - fci.object_pp = &getThis(); + fci.object_ptr = getThis(); fci.retval_ptr_ptr = &trace; fci.param_count = 0; fci.params = NULL; http://cvs.php.net/viewvc.cgi/php-src/ext/spl/php_spl.c?r1=1.52.2.28.2.17.2.30&r2=1.52.2.28.2.17.2.31&diff_format=u Index: php-src/ext/spl/php_spl.c diff -u php-src/ext/spl/php_spl.c:1.52.2.28.2.17.2.30 php-src/ext/spl/php_spl.c:1.52.2.28.2.17.2.31 --- php-src/ext/spl/php_spl.c:1.52.2.28.2.17.2.30 Mon Nov 17 11:27:59 2008 +++ php-src/ext/spl/php_spl.c Thu Nov 27 19:01:23 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_spl.c,v 1.52.2.28.2.17.2.30 2008/11/17 11:27:59 felipe Exp $ */ +/* $Id: php_spl.c,v 1.52.2.28.2.17.2.31 2008/11/27 19:01:23 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -424,7 +424,7 @@ zend_bool prepend = 0; zend_function *spl_func_ptr; autoload_func_info alfi; - zval **obj_ptr; + zval *obj_ptr; zend_fcall_info_cache fcc; if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "|zbb", &zcallable, &do_throw, &prepend) == FAILURE) { @@ -446,7 +446,7 @@ if (!zend_is_callable_ex(zcallable, NULL, IS_CALLABLE_STRICT, &func_name, &func_name_len, &fcc, &error TSRMLS_CC)) { alfi.ce = fcc.calling_scope; alfi.func_ptr = fcc.function_handler; - obj_ptr = fcc.object_pp; + obj_ptr = fcc.object_ptr; if (Z_TYPE_P(zcallable) == IS_ARRAY) { if (!obj_ptr && alfi.func_ptr && !(alfi.func_ptr->common.fn_flags & ZEND_ACC_STATIC)) { if (do_throw) { @@ -488,7 +488,7 @@ } alfi.ce = fcc.calling_scope; alfi.func_ptr = fcc.function_handler; - obj_ptr = fcc.object_pp; + obj_ptr = fcc.object_ptr; if (error) { efree(error); } @@ -503,10 +503,10 @@ if (obj_ptr && !(alfi.func_ptr->common.fn_flags & ZEND_ACC_STATIC)) { /* add object id to the hash to ensure uniqueness, for more reference look at bug #40091 */ - memcpy(lc_name + func_name_len, &Z_OBJ_HANDLE_PP(obj_ptr), sizeof(zend_object_handle)); + memcpy(lc_name + func_name_len, &Z_OBJ_HANDLE_P(obj_ptr), sizeof(zend_object_handle)); func_name_len += sizeof(zend_object_handle); lc_name[func_name_len] = '\0'; - alfi.obj = *obj_ptr; + alfi.obj = obj_ptr; Z_ADDREF_P(alfi.obj); } else { alfi.obj = NULL; @@ -558,7 +558,7 @@ zval *zcallable; int success = FAILURE; zend_function *spl_func_ptr; - zval **obj_ptr; + zval *obj_ptr; zend_fcall_info_cache fcc; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zcallable) == FAILURE) { @@ -575,7 +575,7 @@ } RETURN_FALSE; } - obj_ptr = fcc.object_pp; + obj_ptr = fcc.object_ptr; if (error) { efree(error); } @@ -595,7 +595,7 @@ success = zend_hash_del(SPL_G(autoload_functions), func_name, func_name_len+1); if (success != SUCCESS && obj_ptr) { func_name = erealloc(func_name, func_name_len + 1 + sizeof(zend_object_handle)); - memcpy(func_name + func_name_len, &Z_OBJ_HANDLE_PP(obj_ptr), sizeof(zend_object_handle)); + memcpy(func_name + func_name_len, &Z_OBJ_HANDLE_P(obj_ptr), sizeof(zend_object_handle)); func_name_len += sizeof(zend_object_handle); func_name[func_name_len] = '\0'; success = zend_hash_del(SPL_G(autoload_functions), func_name, func_name_len+1); http://cvs.php.net/viewvc.cgi/php-src/ext/spl/spl_directory.c?r1=1.45.2.27.2.23.2.37&r2=1.45.2.27.2.23.2.38&diff_format=u Index: php-src/ext/spl/spl_directory.c diff -u php-src/ext/spl/spl_directory.c:1.45.2.27.2.23.2.37 php-src/ext/spl/spl_directory.c:1.45.2.27.2.23.2.38 --- php-src/ext/spl/spl_directory.c:1.45.2.27.2.23.2.37 Wed Nov 19 02:00:53 2008 +++ php-src/ext/spl/spl_directory.c Thu Nov 27 19:01:23 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_directory.c,v 1.45.2.27.2.23.2.37 2008/11/19 02:00:53 colder Exp $ */ +/* $Id: spl_directory.c,v 1.45.2.27.2.23.2.38 2008/11/27 19:01:23 dmitry Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -1805,7 +1805,7 @@ fci.size = sizeof(fci); fci.function_table = EG(function_table); - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.function_name = &z_fname; fci.retval_ptr_ptr = &retval; fci.param_count = num_args; @@ -1817,7 +1817,7 @@ fcic.function_handler = func_ptr; fcic.calling_scope = NULL; fcic.called_scope = NULL; - fcic.object_pp = NULL; + fcic.object_ptr = NULL; result = zend_call_function(&fci, &fcic TSRMLS_CC); http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite/sqlite.c?r1=1.166.2.13.2.9.2.17&r2=1.166.2.13.2.9.2.18&diff_format=u Index: php-src/ext/sqlite/sqlite.c diff -u php-src/ext/sqlite/sqlite.c:1.166.2.13.2.9.2.17 php-src/ext/sqlite/sqlite.c:1.166.2.13.2.9.2.18 --- php-src/ext/sqlite/sqlite.c:1.166.2.13.2.9.2.17 Sat Nov 22 11:48:42 2008 +++ php-src/ext/sqlite/sqlite.c Thu Nov 27 19:01:23 2008 @@ -17,7 +17,7 @@ | Marcus Boerger <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ - $Id: sqlite.c,v 1.166.2.13.2.9.2.17 2008/11/22 11:48:42 scottmac Exp $ + $Id: sqlite.c,v 1.166.2.13.2.9.2.18 2008/11/27 19:01:23 dmitry Exp $ */ #ifdef HAVE_CONFIG_H @@ -1458,7 +1458,7 @@ { php_info_print_table_start(); php_info_print_table_header(2, "SQLite support", "enabled"); - php_info_print_table_row(2, "PECL Module version", PHP_SQLITE_MODULE_VERSION " $Id: sqlite.c,v 1.166.2.13.2.9.2.17 2008/11/22 11:48:42 scottmac Exp $"); + php_info_print_table_row(2, "PECL Module version", PHP_SQLITE_MODULE_VERSION " $Id: sqlite.c,v 1.166.2.13.2.9.2.18 2008/11/27 19:01:23 dmitry Exp $"); php_info_print_table_row(2, "SQLite Library", sqlite_libversion()); php_info_print_table_row(2, "SQLite Encoding", sqlite_libencoding()); php_info_print_table_end(); @@ -2415,7 +2415,7 @@ fci.function_table = &ce->function_table; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &return_value; + fci.object_ptr = return_value; fci.retval_ptr_ptr = &retval_ptr; if (ctor_params && Z_TYPE_P(ctor_params) != IS_NULL) { if (Z_TYPE_P(ctor_params) == IS_ARRAY) { @@ -2449,7 +2449,7 @@ fcc.function_handler = ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(return_value); - fcc.object_pp = &return_value; + fcc.object_ptr = return_value; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { zend_throw_exception_ex(sqlite_ce_exception, 0 TSRMLS_CC, "Could not execute %s::%s()", class_name, ce->constructor->common.function_name); http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/sqlite3.c?r1=1.1.2.19&r2=1.1.2.20&diff_format=u Index: php-src/ext/sqlite3/sqlite3.c diff -u php-src/ext/sqlite3/sqlite3.c:1.1.2.19 php-src/ext/sqlite3/sqlite3.c:1.1.2.20 --- php-src/ext/sqlite3/sqlite3.c:1.1.2.19 Thu Nov 20 10:22:55 2008 +++ php-src/ext/sqlite3/sqlite3.c Thu Nov 27 19:01:23 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sqlite3.c,v 1.1.2.19 2008/11/20 10:22:55 pajoye Exp $ */ +/* $Id: sqlite3.c,v 1.1.2.20 2008/11/27 19:01:23 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -608,7 +608,7 @@ fc->fci.function_table = EG(function_table); fc->fci.function_name = cb; fc->fci.symbol_table = NULL; - fc->fci.object_pp = NULL; + fc->fci.object_ptr = NULL; fc->fci.retval_ptr_ptr = &retval; fc->fci.param_count = fake_argc; http://cvs.php.net/viewvc.cgi/php-src/ext/xml/xml.c?r1=1.157.2.4.2.5.2.14&r2=1.157.2.4.2.5.2.15&diff_format=u Index: php-src/ext/xml/xml.c diff -u php-src/ext/xml/xml.c:1.157.2.4.2.5.2.14 php-src/ext/xml/xml.c:1.157.2.4.2.5.2.15 --- php-src/ext/xml/xml.c:1.157.2.4.2.5.2.14 Mon Nov 17 11:28:00 2008 +++ php-src/ext/xml/xml.c Thu Nov 27 19:01:23 2008 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xml.c,v 1.157.2.4.2.5.2.14 2008/11/17 11:28:00 felipe Exp $ */ +/* $Id: xml.c,v 1.157.2.4.2.5.2.15 2008/11/27 19:01:23 dmitry Exp $ */ #define IS_EXT_MODULE @@ -520,7 +520,7 @@ fci.function_table = EG(function_table); fci.function_name = handler; fci.symbol_table = NULL; - fci.object_pp = &parser->object; + fci.object_ptr = parser->object; fci.retval_ptr_ptr = &retval; fci.param_count = argc; fci.params = args; http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.9.2.12&r2=1.39.2.2.2.9.2.13&diff_format=u Index: php-src/ext/xsl/xsltprocessor.c diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.9.2.12 php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.9.2.13 --- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.9.2.12 Mon Nov 17 11:28:00 2008 +++ php-src/ext/xsl/xsltprocessor.c Thu Nov 27 19:01:23 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xsltprocessor.c,v 1.39.2.2.2.9.2.12 2008/11/17 11:28:00 felipe Exp $ */ +/* $Id: xsltprocessor.c,v 1.39.2.2.2.9.2.13 2008/11/27 19:01:23 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -306,7 +306,7 @@ fci.function_name = &handler; fci.symbol_table = NULL; - fci.object_pp = NULL; + fci.object_ptr = NULL; fci.retval_ptr_ptr = &retval; fci.no_separation = 0; /*fci.function_handler_cache = &function_ptr;*/ http://cvs.php.net/viewvc.cgi/php-src/main/streams/userspace.c?r1=1.31.2.3.2.7.2.6&r2=1.31.2.3.2.7.2.7&diff_format=u Index: php-src/main/streams/userspace.c diff -u php-src/main/streams/userspace.c:1.31.2.3.2.7.2.6 php-src/main/streams/userspace.c:1.31.2.3.2.7.2.7 --- php-src/main/streams/userspace.c:1.31.2.3.2.7.2.6 Wed Nov 26 04:19:20 2008 +++ php-src/main/streams/userspace.c Thu Nov 27 19:01:23 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: userspace.c,v 1.31.2.3.2.7.2.6 2008/11/26 04:19:20 lbarnaud Exp $ */ +/* $Id: userspace.c,v 1.31.2.3.2.7.2.7 2008/11/27 19:01:23 dmitry Exp $ */ #include "php.h" #include "php_globals.h" @@ -299,7 +299,7 @@ fci.function_table = &uwrap->ce->function_table; fci.function_name = NULL; fci.symbol_table = NULL; - fci.object_pp = &us->object; + fci.object_ptr = us->object; fci.retval_ptr_ptr = &retval_ptr; fci.param_count = 0; fci.params = NULL; @@ -309,7 +309,7 @@ fcc.function_handler = uwrap->ce->constructor; fcc.calling_scope = EG(scope); fcc.called_scope = Z_OBJCE_P(us->object); - fcc.object_pp = &us->object; + fcc.object_ptr = us->object; if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not execute %s::%s()", uwrap->ce->name, uwrap->ce->constructor->common.function_name); http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug46409.phpt?view=markup&rev=1.1 Index: ZendEngine2/tests/bug46409.phpt +++ ZendEngine2/tests/bug46409.phpt
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php