diff options
author | Nikita Popov <nikic@php.net> | 2015-04-25 20:43:11 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2015-04-27 18:50:08 +0200 |
commit | 40e465e3575443757693146bb141a4de02cc697c (patch) | |
tree | 6eb7c1fc0ffeb24d3bcf3cc34ecd294c39a2e4e4 /ext/soap/php_encoding.c | |
parent | 1800bed1045a43d2478c0265a26fe0675fb5a6c1 (diff) | |
download | php-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.c | 12 |
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) { |