]> granicus.if.org Git - php/commitdiff
Permit correct usage of inherited encoders (from restriction/extension
authorGeorge Schlossnagle <gschlossnagle@php.net>
Fri, 7 Oct 2005 05:14:31 +0000 (05:14 +0000)
committerGeorge Schlossnagle <gschlossnagle@php.net>
Fri, 7 Oct 2005 05:14:31 +0000 (05:14 +0000)
"base" directives) for xml response decoding.

ext/soap/php_encoding.c

index c15c51ae2ea88b9b603807a537cbbde30a1c62cc..2e28e41e42e873edfe9f6b82063ac12154f0c8b9 100644 (file)
@@ -1189,6 +1189,7 @@ static zval *to_zval_object(encodeTypePtr type, xmlNodePtr data)
 
                        enc = sdlType->encode;
                        while (enc && enc->details.sdl_type &&
+                              enc->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX &&
                               enc->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE &&
                               enc->details.sdl_type->kind != XSD_TYPEKIND_LIST &&
                               enc->details.sdl_type->kind != XSD_TYPEKIND_UNION) {
@@ -1211,6 +1212,7 @@ static zval *to_zval_object(encodeTypePtr type, xmlNodePtr data)
                           sdlType->encode &&
                           type != &sdlType->encode->details) {
                        if (sdlType->encode->details.sdl_type &&
+                           sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX &&
                            sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE &&
                            sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_LIST &&
                            sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_UNION) {