2nd of 5 merge requests that will remove all the todos i added
the combined, end result is here: https://gitlab.winehq.org/dlehman25/wine/-/tree/msxml-nullpfx-combined
From: Daniel Lehman dlehman25@gmail.com
--- dlls/msxml3/node.c | 6 +++++- dlls/msxml3/tests/domdoc.c | 2 +- dlls/msxml4/tests/domdoc.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index 4e4a9cfd1ef..f557aeaa2bf 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -1609,7 +1609,11 @@ HRESULT node_get_base_name(xmlnode *This, BSTR *name) { if (!name) return E_INVALIDARG;
- *name = bstr_from_xmlChar(This->node->name); + if (xmldoc_version(This->node->doc) != MSXML6 && + xmlStrEqual(This->node->name, BAD_CAST "xmlns")) + *name = SysAllocString(L""); + else + *name = bstr_from_xmlChar(This->node->name); if (!*name) return E_OUTOFMEMORY;
TRACE("returning %s\n", debugstr_w(*name)); diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 23a114db713..1eceeda65de 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -13778,6 +13778,7 @@ static void test_namespaces_as_attributes(void) str = NULL; hr = IXMLDOMNode_get_nodeName(item, &str); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine_if(test->todo) ok(!lstrcmpW(str, _bstr_(test->names[i])), "got %s\n", wine_dbgstr_w(str)); SysFreeString(str);
@@ -13797,7 +13798,6 @@ static void test_namespaces_as_attributes(void) str = NULL; hr = IXMLDOMNode_get_baseName(item, &str); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - todo_wine_if(test->todo) ok(!lstrcmpW(str, _bstr_(test->basenames[i])), "got %s\n", wine_dbgstr_w(str)); SysFreeString(str);
diff --git a/dlls/msxml4/tests/domdoc.c b/dlls/msxml4/tests/domdoc.c index 67f37b6966b..70bd4de58c3 100644 --- a/dlls/msxml4/tests/domdoc.c +++ b/dlls/msxml4/tests/domdoc.c @@ -261,6 +261,7 @@ static void test_namespaces_as_attributes(void) str = NULL; hr = IXMLDOMNode_get_nodeName(item, &str); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine_if(test->todo) ok(!lstrcmpW(str, test->names[i]), "got %s\n", wine_dbgstr_w(str)); SysFreeString(str);
@@ -283,7 +284,6 @@ static void test_namespaces_as_attributes(void) hr = IXMLDOMNode_get_baseName(item, &str); /* MSXML4 can report different results with different service packs */ ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - todo_wine_if(test->todo) ok(!lstrcmpW(str, test->basenames[i]) || broken(!lstrcmpW(str, L"xmlns")), "got %s\n", wine_dbgstr_w(str)); SysFreeString(str);
This merge request was approved by Nikolay Sivov.