[PATCH] Correct createElement return value for an invalid type
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Fri Feb 1 04:25:37 CST 2008
---
dlls/msxml3/tests/xmldoc.c | 4 ++--
dlls/msxml3/xmldoc.c | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/msxml3/tests/xmldoc.c b/dlls/msxml3/tests/xmldoc.c
index 1186c9b..89c73cf 100644
--- a/dlls/msxml3/tests/xmldoc.c
+++ b/dlls/msxml3/tests/xmldoc.c
@@ -270,8 +270,8 @@ static void test_createElement(void)
V_I4(&vType) = -1;
V_VT(&vName) = VT_NULL;
hr = IXMLDocument_createElement(doc, vType, vName, &element);
- ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
- ok(element != NULL, "Expected non-NULL element\n");
+ ok(hr == E_NOTIMPL, "Expected S_OK, got %d\n", hr);
+ ok(element == NULL, "Expected NULL element\n");
if (element != NULL)
{
diff --git a/dlls/msxml3/xmldoc.c b/dlls/msxml3/xmldoc.c
index a4c0850..26c16d3 100644
--- a/dlls/msxml3/xmldoc.c
+++ b/dlls/msxml3/xmldoc.c
@@ -452,6 +452,9 @@ static HRESULT WINAPI xmldoc_createElement(IXMLDocument *iface, VARIANT vType,
if (V_VT(&vType) != VT_I4)
return E_INVALIDARG;
+
+ if(type_msxml_to_libxml(V_I4(&vType)) == -1)
+ return E_NOTIMPL;
node = xmlNewNode(NULL, empty);
node->type = type_msxml_to_libxml(V_I4(&vType));
--
1.5.3.8
--------------050307080803090800000407--
More information about the wine-patches
mailing list