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>
This commit is contained in:
Hans Leidekker 2017-05-15 09:59:19 +02:00 committed by Alexandre Julliard
parent 88f245d068
commit b37f7e81d2
2 changed files with 7 additions and 0 deletions

View File

@ -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 );

View File

@ -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;