Hans Leidekker : webservices: Move the reader to the next node in WsCopyNode.

Alexandre Julliard julliard at winehq.org
Mon May 15 16:09:23 CDT 2017


Module: wine
Branch: master
Commit: b37f7e81d29b36a667f820065e036ffb986b9176
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b37f7e81d29b36a667f820065e036ffb986b9176

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Mon May 15 09:59:19 2017 +0200

webservices: Move the reader to the next node in WsCopyNode.

Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/webservices/tests/writer.c | 5 +++++
 dlls/webservices/writer.c       | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/dlls/webservices/tests/writer.c b/dlls/webservices/tests/writer.c
index 1d1ed04..5319769 100644
--- a/dlls/webservices/tests/writer.c
+++ b/dlls/webservices/tests/writer.c
@@ -1940,6 +1940,7 @@ static void test_WsCopyNode(void)
 {
     WS_XML_STRING localname = {1, (BYTE *)"t"}, localname2 = {1, (BYTE *)"u"}, ns = {0, NULL};
     WS_XML_NODE_POSITION pos, pos2;
+    const WS_XML_NODE *node;
     WS_XML_WRITER *writer;
     WS_XML_READER *reader;
     WS_XML_BUFFER *buffer;
@@ -1998,6 +1999,10 @@ static void test_WsCopyNode(void)
     ok( pos2.buffer == pos.buffer, "wrong buffer\n" );
     ok( pos2.node == pos.node, "wrong node\n" );
 
+    hr = WsGetReaderNode( reader, &node, NULL );
+    ok( hr == S_OK, "got %08x\n", hr );
+    ok( node->nodeType == WS_XML_NODE_TYPE_EOF, "got %u\n", node->nodeType );
+
     WsFreeReader( reader );
     WsFreeWriter( writer );
     WsFreeHeap( heap );
diff --git a/dlls/webservices/writer.c b/dlls/webservices/writer.c
index 81e21e5..74b6efd 100644
--- a/dlls/webservices/writer.c
+++ b/dlls/webservices/writer.c
@@ -3427,6 +3427,8 @@ HRESULT WINAPI WsCopyNode( WS_XML_WRITER *handle, WS_XML_READER *reader, WS_ERRO
     if ((hr = write_tree( writer )) != S_OK) goto done;
     writer->current = current;
 
+    WsMoveReader( reader, WS_MOVE_TO_NEXT_NODE, NULL, NULL );
+
 done:
     LeaveCriticalSection( &writer->cs );
     return hr;




More information about the wine-cvs mailing list