summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index a46a62ccf2..8d574c2225 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1353,11 +1353,12 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e
str_val = (*attr)->def;
}
if (str_val) {
+ zval zstr;
xmlNodePtr dummy;
zval *data;
- dummy = xmlNewNode(NULL, "BOGUS");
- xmlNodeSetContent(dummy, str_val);
+ ZVAL_STRING(&zstr, str_val, 0);
+ dummy = master_to_xml(get_conversion(IS_STRING), &zstr, SOAP_LITERAL, NULL);
data = master_to_zval((*attr)->encode, dummy);
xmlFreeNode(dummy);
set_zval_property(ret, (*attr)->name, data TSRMLS_CC);