summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-04-25 20:43:11 +0200
committerNikita Popov <nikic@php.net>2015-04-27 18:50:08 +0200
commit40e465e3575443757693146bb141a4de02cc697c (patch)
tree6eb7c1fc0ffeb24d3bcf3cc34ecd294c39a2e4e4 /ext/soap/php_encoding.c
parent1800bed1045a43d2478c0265a26fe0675fb5a6c1 (diff)
downloadphp-git-40e465e3575443757693146bb141a4de02cc697c.tar.gz
Clean up some type conversions
While at it also fix some type checks in iconv and drop dead and unported code in standard/filters.
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 993a2fa4fc..9c25067f42 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1065,15 +1065,9 @@ static xmlNodePtr to_xml_long(encodeTypePtr type, zval *data, int style, xmlNode
snprintf(s, sizeof(s), "%0.0F",floor(Z_DVAL_P(data)));
xmlNodeSetContent(ret, BAD_CAST(s));
} else {
- zval tmp;
-
- ZVAL_DUP(&tmp, data);
- if (Z_TYPE(tmp) != IS_LONG) {
- convert_to_long(&tmp);
- }
- convert_to_string(&tmp);
- xmlNodeSetContentLen(ret, BAD_CAST(Z_STRVAL(tmp)), Z_STRLEN(tmp));
- zval_dtor(&tmp);
+ zend_string *str = zend_long_to_str(zval_get_long(data));
+ xmlNodeSetContentLen(ret, BAD_CAST(str->val), str->len);
+ zend_string_release(str);
}
if (style == SOAP_ENCODED) {