summaryrefslogtreecommitdiff
path: root/ext/sockets/multicast.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 /ext/sockets/multicast.c
parent3fa0cee640bd54a500fcaa8aa8293a255d0d3191 (diff)
downloadphp-git-d56a534acc52b0bb7d61ac7c3386ab96e8ca4a97.tar.gz
RC manipulation cleanup 2
Diffstat (limited to 'ext/sockets/multicast.c')
-rw-r--r--ext/sockets/multicast.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/ext/sockets/multicast.c b/ext/sockets/multicast.c
index 24f374c55d..9857be3982 100644
--- a/ext/sockets/multicast.c
+++ b/ext/sockets/multicast.c
@@ -100,12 +100,9 @@ static int php_get_if_index_from_zval(zval *val, unsigned *out)
ret = SUCCESS;
}
} else {
- if (Z_REFCOUNTED_P(val)) {
- Z_ADDREF_P(val);
- }
- convert_to_string_ex(val);
- ret = php_string_to_if_index(Z_STRVAL_P(val), out);
- zval_ptr_dtor(val);
+ zend_string *str = zval_get_string(val);
+ ret = php_string_to_if_index(ZSTR_VAL(str), out);
+ zend_string_release(str);
}
return ret;
@@ -130,20 +127,18 @@ static int php_get_address_from_array(const HashTable *ht, const char *key,
php_socket *sock, php_sockaddr_storage *ss, socklen_t *ss_len)
{
zval *val;
+ zend_string *str;
if ((val = zend_hash_str_find(ht, key, strlen(key))) == NULL) {
php_error_docref(NULL, E_WARNING, "no key \"%s\" passed in optval", key);
return FAILURE;
}
- if (Z_REFCOUNTED_P(val)) {
- Z_ADDREF_P(val);
- }
- convert_to_string_ex(val);
- if (!php_set_inet46_addr(ss, ss_len, Z_STRVAL_P(val), sock)) {
- zval_ptr_dtor(val);
+ str = zval_get_string(val);
+ if (!php_set_inet46_addr(ss, ss_len, ZSTR_VAL(str), sock)) {
+ zend_string_release(str);
return FAILURE;
}
- zval_ptr_dtor(val);
+ zend_string_release(str);
return SUCCESS;
}