summaryrefslogtreecommitdiff
path: root/ext/spl/php_spl.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-06-17 12:34:04 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-06-17 16:36:56 +0200
commit15846ff115722b2f95d699abf07141d774b0e2cd (patch)
tree0be3155ce95856e82c4a0cf4c694ab0c6df49e62 /ext/spl/php_spl.c
parentb516566b84c210ce6ceddeb238e45d4b1bcb32ce (diff)
downloadphp-git-15846ff115722b2f95d699abf07141d774b0e2cd.tar.gz
Add ZVAL_OBJ_COPY macro
For the common ZVAL_OBJ + GC_ADDREF pattern. This mirrors the existing ZVAL_STR_COPY API.
Diffstat (limited to 'ext/spl/php_spl.c')
-rw-r--r--ext/spl/php_spl.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c
index ced58ab20d..e2b361fb5b 100644
--- a/ext/spl/php_spl.c
+++ b/ext/spl/php_spl.c
@@ -609,8 +609,7 @@ PHP_FUNCTION(spl_autoload_functions)
ZEND_HASH_FOREACH_PTR(SPL_G(autoload_functions), alfi) {
if (alfi->closure) {
zval obj_zv;
- ZVAL_OBJ(&obj_zv, alfi->closure);
- Z_ADDREF(obj_zv);
+ ZVAL_OBJ_COPY(&obj_zv, alfi->closure);
add_next_index_zval(return_value, &obj_zv);
} else if (alfi->func_ptr->common.scope) {
zval tmp;
@@ -618,8 +617,7 @@ PHP_FUNCTION(spl_autoload_functions)
array_init(&tmp);
if (alfi->obj) {
zval obj_zv;
- ZVAL_OBJ(&obj_zv, alfi->obj);
- Z_ADDREF(obj_zv);
+ ZVAL_OBJ_COPY(&obj_zv, alfi->obj);
add_next_index_zval(&tmp, &obj_zv);
} else {
add_next_index_str(&tmp, zend_string_copy(alfi->ce->name));