summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-11-02 12:13:35 +0800
committerXinchen Hui <laruence@gmail.com>2017-11-02 12:13:35 +0800
commitd56a534acc52b0bb7d61ac7c3386ab96e8ca4a97 (patch)
tree5ea9bf64602faf1abb6ed72dbd78dbd3f1ebc904 /Zend/zend_API.c
parent3fa0cee640bd54a500fcaa8aa8293a255d0d3191 (diff)
downloadphp-git-d56a534acc52b0bb7d61ac7c3386ab96e8ca4a97.tar.gz
RC manipulation cleanup 2
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 24734aa703..03a0df947e 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -80,9 +80,7 @@ ZEND_API int zend_copy_parameters_array(int param_count, zval *argument_array) /
}
while (param_count-->0) {
- if (Z_REFCOUNTED_P(param_ptr)) {
- Z_ADDREF_P(param_ptr);
- }
+ Z_TRY_ADDREF_P(param_ptr);
zend_hash_next_index_insert_new(Z_ARRVAL_P(argument_array), param_ptr);
param_ptr++;
}
@@ -1075,8 +1073,7 @@ ZEND_API int zend_update_class_constants(zend_class_entry *class_type) /* {{{ */
zval *q = &CE_STATIC_MEMBERS(class_type->parent)[i];
ZVAL_NEW_REF(q, q);
- ZVAL_COPY_VALUE(&CE_STATIC_MEMBERS(class_type)[i], q);
- Z_ADDREF_P(q);
+ ZVAL_COPY(&CE_STATIC_MEMBERS(class_type)[i], q);
} else {
ZVAL_COPY_OR_DUP(&CE_STATIC_MEMBERS(class_type)[i], Z_REFVAL_P(p));
}
@@ -1627,9 +1624,7 @@ ZEND_API int array_set_zval_key(HashTable *ht, zval *key, zval *value) /* {{{ */
}
if (result) {
- if (Z_REFCOUNTED_P(result)) {
- Z_ADDREF_P(result);
- }
+ Z_TRY_ADDREF_P(result);
return SUCCESS;
} else {
return FAILURE;
@@ -2747,9 +2742,7 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, const char *name, int name_lengt
while (num_symbol_tables-- > 0) {
symbol_table = va_arg(symbol_table_list, HashTable *);
zend_hash_str_update(symbol_table, name, name_length, symbol);
- if (Z_REFCOUNTED_P(symbol)) {
- Z_ADDREF_P(symbol);
- }
+ Z_TRY_ADDREF_P(symbol);
}
va_end(symbol_table_list);
return SUCCESS;
@@ -3508,9 +3501,7 @@ ZEND_API int zend_fcall_info_args_ex(zend_fcall_info *fci, zend_function *func,
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(args), arg) {
if (func && !Z_ISREF_P(arg) && ARG_SHOULD_BE_SENT_BY_REF(func, n)) {
ZVAL_NEW_REF(params, arg);
- if (Z_REFCOUNTED_P(arg)) {
- Z_ADDREF_P(arg);
- }
+ Z_TRY_ADDREF_P(arg);
} else {
ZVAL_COPY(params, arg);
}