diff options
Diffstat (limited to 'ext/soap/php_schema.c')
| -rw-r--r-- | ext/soap/php_schema.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/soap/php_schema.c b/ext/soap/php_schema.c index dbe229733d..9c219da0c6 100644 --- a/ext/soap/php_schema.c +++ b/ext/soap/php_schema.c @@ -1990,7 +1990,7 @@ static int schema_attributeGroup(sdlPtr sdl, xmlAttrPtr tsn, xmlNodePtr attrGrou return TRUE; } -static void copy_extra_attribute(void *attribute) +static void copy_extra_attribute(void *attribute) { sdlExtraAttributePtr *attr = (sdlExtraAttributePtr*)attribute; sdlExtraAttributePtr new_attr; @@ -2040,11 +2040,12 @@ static void schema_attribute_fixup(sdlCtx *ctx, sdlAttributePtr attr) } } if (attr->name == NULL && attr->ref != NULL) { - char *name, *ns; - parse_namespace(attr->ref, &name, &ns); - attr->name = sdl_strdup(name); - if (name) {efree(name);} - if (ns) {efree(ns);} + char *name = strrchr(attr->ref, ':'); + if (*name) { + attr->name = sdl_strdup(name+1); + } else{ + attr->name = sdl_strdup(attr->ref); + } } efree(attr->ref); attr->ref = NULL; |
