]> granicus.if.org Git - php/commitdiff
Support for IS_INDIRECT
authorDmitry Stogov <dmitry@zend.com>
Thu, 15 May 2014 18:53:01 +0000 (22:53 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 15 May 2014 18:53:01 +0000 (22:53 +0400)
ext/soap/php_encoding.c

index 29ca2ab41db3cbd588da04fb262252fafedb68a3..261912b75b9de2df31d411160532f38262820e6d 100644 (file)
@@ -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);