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(
BSTR* namespaceURI)
{
xmlnode *This = impl_from_IXMLDOMNode( iface );
HRESULT hr = S_FALSE;
xmlNsPtr *pNSList;
xmlNsPtr *ns;
TRACE("(%p)->(%p)\n", This, namespaceURI );
......@@ -1412,16 +1411,15 @@ static HRESULT WINAPI xmlnode_get_namespaceURI(
*namespaceURI = NULL;
pNSList = xmlGetNsList(This->node->doc, This->node);
if(pNSList)
if ((ns = xmlGetNsList(This->node->doc, This->node)))
{
*namespaceURI = bstr_from_xmlChar( pNSList[0]->href );
xmlFree( pNSList );
hr = S_OK;
if (ns[0]->href) *namespaceURI = bstr_from_xmlChar( ns[0]->href );
xmlFree(ns);
}
return hr;
TRACE("uri: %s\n", debugstr_w(*namespaceURI));
return *namespaceURI ? S_OK : S_FALSE;
}
static HRESULT WINAPI xmlnode_get_prefix(
......@@ -1444,7 +1442,7 @@ static HRESULT WINAPI xmlnode_get_prefix(
xmlFree(ns);
}
TRACE("prefix %s\n", debugstr_w(*prefixString));
TRACE("prefix: %s\n", debugstr_w(*prefixString));
return *prefixString ? S_OK : S_FALSE;
}
......
......@@ -6163,8 +6163,8 @@ static void test_get_prefix(void)
str = (void*)0xdeadbeef;
hr = IXMLDOMElement_get_namespaceURI(element, &str);
todo_wine ok( hr == S_FALSE, "got 0x%08x\n", hr);
todo_wine ok( str == 0, "got %p\n", str);
ok( hr == S_FALSE, "got 0x%08x\n", hr);
ok( str == 0, "got %p\n", str);
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