From ccc12b82da5dd10b44ab067b68b762298a9eb4eb Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 16 Nov 2017 17:09:32 +0300 Subject: Avoid unnecessary reference-counting on strings. --- ext/soap/php_encoding.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'ext/soap/php_encoding.c') 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); } -- cgit v1.2.1