summaryrefslogtreecommitdiff
path: root/ext/soap/php_xml.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/soap/php_xml.c')
-rw-r--r--ext/soap/php_xml.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/soap/php_xml.c b/ext/soap/php_xml.c
index d609ea4d1a..ce560b6f35 100644
--- a/ext/soap/php_xml.c
+++ b/ext/soap/php_xml.c
@@ -158,9 +158,15 @@ xmlNodePtr check_and_resolve_href(xmlNodePtr data)
if (href) {
/* Internal href try and find node */
if (href->children->content[0] == '#') {
- return get_node_with_attribute_recursive(data->doc->children, NULL, "id", &href->children->content[1]);
+ xmlNodePtr ret = get_node_with_attribute_recursive(data->doc->children, NULL, "id", &href->children->content[1]);
+ if (!ret) {
+ php_error(E_ERROR,"Unresolved reference '%s'",href->children->content);
+ }
+ data = ret;
+ } else {
+ /* TODO: External href....? */
+ php_error(E_ERROR,"External reference '%s'",href->children->content);
}
- /* TODO: External href....? */
}
}
return data;