summaryrefslogtreecommitdiff
path: root/ext/wddx/wddx.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/wddx/wddx.c')
-rw-r--r--ext/wddx/wddx.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c
index c0dc964e57..19e4369aef 100644
--- a/ext/wddx/wddx.c
+++ b/ext/wddx/wddx.c
@@ -407,12 +407,9 @@ static void php_wddx_serialize_string(wddx_packet *packet, zval *var)
static void php_wddx_serialize_number(wddx_packet *packet, zval *var)
{
char tmp_buf[WDDX_BUF_LEN];
- zval tmp;
-
- ZVAL_DUP(&tmp, var);
- convert_to_string(&tmp);
- snprintf(tmp_buf, sizeof(tmp_buf), WDDX_NUMBER, Z_STRVAL(tmp));
- zval_ptr_dtor(&tmp);
+ zend_string *str = zval_get_string(var);
+ snprintf(tmp_buf, sizeof(tmp_buf), WDDX_NUMBER, str->val);
+ zend_string_release(str);
php_wddx_add_chunk(packet, tmp_buf);
}