diff options
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r-- | ext/soap/php_encoding.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index c0494b8f98..bca17d4a59 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -2760,15 +2760,16 @@ static xmlNodePtr to_xml_any(encodeTypePtr type, zval *data, int style, xmlNodeP if (Z_TYPE_P(data) == IS_STRING) { ret = xmlNewTextLen(Z_STRVAL_P(data), Z_STRLEN_P(data)); + ret->name = xmlStringTextNoenc; } else { zval tmp = *data; zval_copy_ctor(&tmp); convert_to_string(&tmp); - ret = xmlNewTextLen(Z_STRVAL_P(data), Z_STRLEN_P(data)); + ret = xmlNewTextLen(Z_STRVAL(tmp), Z_STRLEN(tmp)); zval_dtor(&tmp); + ret->name = xmlStringTextNoenc; } - ret->name = xmlStringTextNoenc; xmlAddChild(parent, ret); return ret; |