Module: wine Branch: master Commit: b37f7e81d29b36a667f820065e036ffb986b9176 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b37f7e81d29b36a667f820065e...
Author: Hans Leidekker hans@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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;