webservices: Implement WsWriteXmlBuffer.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Hans Leidekker 2016-01-21 15:27:56 +01:00 committed by Alexandre Julliard
parent 44d850c259
commit 32e20cbf32
2 changed files with 20 additions and 1 deletions

View File

@ -187,7 +187,7 @@
@ stdcall WsWriteText(ptr ptr ptr)
@ stub WsWriteType
@ stub WsWriteValue
@ stub WsWriteXmlBuffer
@ stdcall WsWriteXmlBuffer(ptr ptr ptr)
@ stub WsWriteXmlBufferToBytes
@ stub WsWriteXmlnsAttribute
@ stdcall WsXmlStringEquals(ptr ptr ptr)

View File

@ -773,3 +773,22 @@ HRESULT WINAPI WsWriteText( WS_XML_WRITER *handle, const WS_XML_TEXT *text, WS_E
elem->attributes[elem->attributeCount - 1]->value = (WS_XML_TEXT *)dst;
return S_OK;
}
/**************************************************************************
* WsWriteXmlBuffer [webservices.@]
*/
HRESULT WINAPI WsWriteXmlBuffer( WS_XML_WRITER *handle, WS_XML_BUFFER *buffer, WS_ERROR *error )
{
struct writer *writer = (struct writer *)handle;
struct xmlbuf *xmlbuf = (struct xmlbuf *)buffer;
HRESULT hr;
TRACE( "%p %p %p\n", handle, buffer, error );
if (error) FIXME( "ignoring error parameter\n" );
if (!writer || !xmlbuf) return E_INVALIDARG;
if ((hr = write_grow_buffer( writer, xmlbuf->size )) != S_OK) return hr;
write_bytes( writer, xmlbuf->ptr, xmlbuf->size );
return S_OK;
}