From a70a620a01897579ab7d28418532a55dcfb6c459 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 2 Feb 2004 17:39:10 +0000 Subject: fix: proper handling of SOAP 1.1 href and unresolved attributes references --- ext/soap/php_encoding.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ext/soap/php_encoding.c') diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 2e9eb23b06..12d0ca0395 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -2304,7 +2304,14 @@ xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval *data, int style, xmlNo static xmlNodePtr check_and_resolve_href(xmlNodePtr data) { if (data && data->properties) { - xmlAttrPtr href = get_attribute(data->properties, "href"); + xmlAttrPtr href; + + href = data->properties; + while (1) { + href = get_attribute(href, "href"); + if (href == NULL || href->ns == NULL) {break;} + href = href->next; + } if (href) { /* Internal href try and find node */ if (href->children->content[0] == '#') { -- cgit v1.2.1