diff options
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r-- | ext/soap/php_encoding.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index bca17d4a59..1162a417cb 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1223,6 +1223,10 @@ static zval *to_zval_object(encodeTypePtr type, xmlNodePtr data) unset_zval_property(ret, "any" TSRMLS_CC); redo_any = 1; } + if (Z_TYPE_P(ret) == IS_OBJECT && ce != ZEND_STANDARD_CLASS_DEF_PTR) { + zend_object *zobj = zend_objects_get_address(ret TSRMLS_CC); + zobj->ce = ce; + } } else { zval *base; |