diff options
author | SVN Migration <svn@php.net> | 2008-12-03 20:30:45 +0000 |
---|---|---|
committer | SVN Migration <svn@php.net> | 2008-12-03 20:30:45 +0000 |
commit | 2876046398950e59c3b3c460e67e6fec7ff2ba3c (patch) | |
tree | 33b2b8b4b859960a6446ad19d0ada1c55f9cfcda /Zend/zend_closures.c | |
parent | 3fb86b0b9e79e6a3312b694f30ee627e2e1b325c (diff) | |
download | php-git-php-5.3.0alpha2.tar.gz |
This commit was manufactured by cvs2svn to create tag 'php_5_3_0alpha2'.php-5.3.0alpha2
Diffstat (limited to 'Zend/zend_closures.c')
-rw-r--r-- | Zend/zend_closures.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c index b5f7e0ea0e..f0fba8e174 100644 --- a/Zend/zend_closures.c +++ b/Zend/zend_closures.c @@ -136,8 +136,7 @@ static zend_function *zend_closure_get_method(zval **object_ptr, char *method_na static zval *zend_closure_read_property(zval *object, zval *member, int type TSRMLS_DC) /* {{{ */ { ZEND_CLOSURE_PROPERTY_ERROR(); - Z_ADDREF(EG(uninitialized_zval)); - return &EG(uninitialized_zval); + return NULL; } /* }}} */ @@ -209,7 +208,7 @@ static zend_object_value zend_closure_new(zend_class_entry *class_type TSRMLS_DC } /* }}} */ -int zend_closure_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zval **zobj_ptr TSRMLS_DC) /* {{{ */ +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) /* {{{ */ { zend_closure *closure; @@ -224,11 +223,17 @@ int zend_closure_get_closure(zval *obj, zend_class_entry **ce_ptr, zend_function 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; |