diff options
author | Dmitry Stogov <dmitry@zend.com> | 2017-11-16 17:09:32 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2017-11-16 17:09:32 +0300 |
commit | ccc12b82da5dd10b44ab067b68b762298a9eb4eb (patch) | |
tree | 9b17d9d3f99f518fe44532c55ac255c3e0134a13 /ext/soap/php_encoding.c | |
parent | ce18738a30b3d7f20b392c9167aa251c009a0c21 (diff) | |
download | php-git-ccc12b82da5dd10b44ab067b68b762298a9eb4eb.tar.gz |
Avoid unnecessary reference-counting on strings.
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r-- | ext/soap/php_encoding.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 057a367655..1096636a4f 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -845,7 +845,7 @@ static xmlNodePtr to_xml_string(encodeTypePtr type, zval *data, int style, xmlNo str = estrndup(Z_STRVAL_P(data), Z_STRLEN_P(data)); new_len = Z_STRLEN_P(data); } else { - zend_string *tmp = zval_get_string(data); + zend_string *tmp = zval_get_string_func(data); str = estrndup(ZSTR_VAL(tmp), ZSTR_LEN(tmp)); new_len = ZSTR_LEN(tmp); zend_string_release(tmp); @@ -928,7 +928,7 @@ static xmlNodePtr to_xml_base64(encodeTypePtr type, zval *data, int style, xmlNo if (Z_TYPE_P(data) == IS_STRING) { str = php_base64_encode((unsigned char*)Z_STRVAL_P(data), Z_STRLEN_P(data)); } else { - zend_string *tmp = zval_get_string(data); + zend_string *tmp = zval_get_string_func(data); str = php_base64_encode((unsigned char*) ZSTR_VAL(tmp), ZSTR_LEN(tmp)); zend_string_release(tmp); } @@ -956,7 +956,7 @@ static xmlNodePtr to_xml_hexbin(encodeTypePtr type, zval *data, int style, xmlNo FIND_ZVAL_NULL(data, ret, style); if (Z_TYPE_P(data) != IS_STRING) { - ZVAL_STR(&tmp, zval_get_string(data)); + ZVAL_STR(&tmp, zval_get_string_func(data)); data = &tmp; } str = (unsigned char *) safe_emalloc(Z_STRLEN_P(data) * 2, sizeof(char), 1); @@ -3029,7 +3029,7 @@ static xmlNodePtr to_xml_list(encodeTypePtr enc, zval *data, int style, xmlNodeP smart_str list = {0}; if (Z_TYPE_P(data) != IS_STRING) { - ZVAL_STR(&tmp, zval_get_string(data)); + ZVAL_STR(&tmp, zval_get_string_func(data)); data = &tmp; } str = estrndup(Z_STRVAL_P(data), Z_STRLEN_P(data)); @@ -3139,7 +3139,7 @@ static xmlNodePtr to_xml_any(encodeTypePtr type, zval *data, int style, xmlNodeP if (Z_TYPE_P(data) == IS_STRING) { ret = xmlNewTextLen(BAD_CAST(Z_STRVAL_P(data)), Z_STRLEN_P(data)); } else { - zend_string *tmp = zval_get_string(data); + zend_string *tmp = zval_get_string_func(data); ret = xmlNewTextLen(BAD_CAST(ZSTR_VAL(tmp)), ZSTR_LEN(tmp)); zend_string_release(tmp); } |