From b188079349070b903ded81d2249aff75fdf0cbbf Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Mon, 6 Mar 2017 12:35:57 +0300 Subject: [PATCH] xmllite/reader: Reset node type to XmlNodeType_None on EOF. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/xmllite/reader.c | 3 +++ dlls/xmllite/tests/reader.c | 4 +--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c index 43dae303845..ae5d9eaef85 100644 --- a/dlls/xmllite/reader.c +++ b/dlls/xmllite/reader.c @@ -2552,7 +2552,10 @@ static HRESULT reader_parse_nextnode(xmlreader *reader) if (FAILED(hr)) return hr; if (hr == S_FALSE) + { reader->instate = XmlReadInState_Eof; + reader->nodetype = XmlNodeType_None; + } return hr; case XmlReadInState_Eof: return S_FALSE; diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c index 4685bec443a..f41375a5073 100644 --- a/dlls/xmllite/tests/reader.c +++ b/dlls/xmllite/tests/reader.c @@ -904,8 +904,7 @@ todo_wine hr = IXmlReader_Read(reader, &type); todo_wine ok(hr == WC_E_SYNTAX || hr == WC_E_XMLCHARACTER /* XP */, "expected WC_E_SYNTAX, got %08x\n", hr); -todo_wine - ok(type == XmlNodeType_None, "expected None, got %s\n", type_to_str(type)); + ok(type == XmlNodeType_None, "expected XmlNodeType_None, got %s\n", type_to_str(type)); ok_pos(reader, 1, 41, -1, -1, TRUE); test_read_state(reader, XmlReadState_Error, -1, TRUE); @@ -2065,7 +2064,6 @@ static void test_namespaceuri(void) j++; } - todo_wine ok(type == XmlNodeType_None, "Unexpected node type %d\n", type); IStream_Release(stream);