Commit 4e94abd7 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

msxml3: Fix IXMLDOMNode::get_namespaceURI() for empty URIs.

parent 154c0828
...@@ -1402,8 +1402,7 @@ static HRESULT WINAPI xmlnode_get_namespaceURI( ...@@ -1402,8 +1402,7 @@ static HRESULT WINAPI xmlnode_get_namespaceURI(
BSTR* namespaceURI) BSTR* namespaceURI)
{ {
xmlnode *This = impl_from_IXMLDOMNode( iface ); xmlnode *This = impl_from_IXMLDOMNode( iface );
HRESULT hr = S_FALSE; xmlNsPtr *ns;
xmlNsPtr *pNSList;
TRACE("(%p)->(%p)\n", This, namespaceURI ); TRACE("(%p)->(%p)\n", This, namespaceURI );
...@@ -1412,16 +1411,15 @@ static HRESULT WINAPI xmlnode_get_namespaceURI( ...@@ -1412,16 +1411,15 @@ static HRESULT WINAPI xmlnode_get_namespaceURI(
*namespaceURI = NULL; *namespaceURI = NULL;
pNSList = xmlGetNsList(This->node->doc, This->node); if ((ns = xmlGetNsList(This->node->doc, This->node)))
if(pNSList)
{ {
*namespaceURI = bstr_from_xmlChar( pNSList[0]->href ); if (ns[0]->href) *namespaceURI = bstr_from_xmlChar( ns[0]->href );
xmlFree(ns);
xmlFree( pNSList );
hr = S_OK;
} }
return hr; TRACE("uri: %s\n", debugstr_w(*namespaceURI));
return *namespaceURI ? S_OK : S_FALSE;
} }
static HRESULT WINAPI xmlnode_get_prefix( static HRESULT WINAPI xmlnode_get_prefix(
...@@ -1444,7 +1442,7 @@ static HRESULT WINAPI xmlnode_get_prefix( ...@@ -1444,7 +1442,7 @@ static HRESULT WINAPI xmlnode_get_prefix(
xmlFree(ns); xmlFree(ns);
} }
TRACE("prefix %s\n", debugstr_w(*prefixString)); TRACE("prefix: %s\n", debugstr_w(*prefixString));
return *prefixString ? S_OK : S_FALSE; return *prefixString ? S_OK : S_FALSE;
} }
......
...@@ -6163,8 +6163,8 @@ static void test_get_prefix(void) ...@@ -6163,8 +6163,8 @@ static void test_get_prefix(void)
str = (void*)0xdeadbeef; str = (void*)0xdeadbeef;
hr = IXMLDOMElement_get_namespaceURI(element, &str); hr = IXMLDOMElement_get_namespaceURI(element, &str);
todo_wine ok( hr == S_FALSE, "got 0x%08x\n", hr); ok( hr == S_FALSE, "got 0x%08x\n", hr);
todo_wine ok( str == 0, "got %p\n", str); ok( str == 0, "got %p\n", str);
IXMLDOMElement_Release(element); IXMLDOMElement_Release(element);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment