diff options
Diffstat (limited to 'ext/soap/php_schema.c')
-rw-r--r-- | ext/soap/php_schema.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/soap/php_schema.c b/ext/soap/php_schema.c index 34bf786f1d..f1956137e4 100644 --- a/ext/soap/php_schema.c +++ b/ext/soap/php_schema.c @@ -2133,11 +2133,17 @@ static void schema_type_fixup(sdlCtx *ctx, sdlTypePtr type) if (type->ref != NULL) { if (ctx->sdl->elements != NULL) { if (zend_hash_find(ctx->sdl->elements, type->ref, strlen(type->ref)+1, (void**)&tmp) == SUCCESS) { + type->kind = (*tmp)->kind; type->encode = (*tmp)->encode; - /* TODO: nillable */ if ((*tmp)->nillable) { type->nillable = 1; } + if ((*tmp)->fixed) { + type->fixed = estrdup((*tmp)->fixed); + } + if ((*tmp)->def) { + type->def = estrdup((*tmp)->def); + } } else { php_error(E_ERROR, "SOAP-ERROR: Parsing Schema: unresolved element 'ref' attribute"); } |