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.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 29ca2ab41d..261912b75b 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1992,6 +1992,13 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo
key_type = zend_hash_get_current_key_ex(prop, &str_key, &index, FALSE, &prop->nInternalPointer);
zprop = zend_hash_get_current_data(prop);
+ if (Z_TYPE_P(zprop) == IS_INDIRECT) {
+ zprop = Z_INDIRECT_P(zprop);
+ if (Z_TYPE_P(zprop) == IS_UNDEF) {
+ zend_hash_move_forward(prop);
+ continue;
+ }
+ }
property = master_to_xml(get_conversion(Z_TYPE_P(zprop)), zprop, style, xmlParam TSRMLS_CC);