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.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index f86b9d6045..53b7fa1f3f 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -2888,8 +2888,18 @@ static xmlNodePtr to_xml_any(encodeTypePtr type, zval *data, int style, xmlNodeP
ret = xmlNewTextLen(BAD_CAST(Z_STRVAL(tmp)), Z_STRLEN(tmp));
zval_dtor(&tmp);
}
+
ret->name = xmlStringTextNoenc;
- xmlAddChild(parent, ret);
+ ret->parent = parent;
+ ret->doc = parent->doc;
+ ret->prev = parent->last;
+ ret->next = NULL;
+ if (parent->last) {
+ parent->last->next = ret;
+ } else {
+ parent->children = ret;
+ }
+ parent->last = ret;
return ret;
}