Module: wine Branch: master Commit: 32e20cbf320974bf6837835a5c30dd01b7254ae7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=32e20cbf320974bf6837835a5c...
Author: Hans Leidekker hans@codeweavers.com Date: Thu Jan 21 15:27:56 2016 +0100
webservices: Implement WsWriteXmlBuffer.
Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/webservices/webservices.spec | 2 +- dlls/webservices/writer.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/dlls/webservices/webservices.spec b/dlls/webservices/webservices.spec index 5a2baba..42f5b63 100644 --- a/dlls/webservices/webservices.spec +++ b/dlls/webservices/webservices.spec @@ -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) diff --git a/dlls/webservices/writer.c b/dlls/webservices/writer.c index d36793a..398d651 100644 --- a/dlls/webservices/writer.c +++ b/dlls/webservices/writer.c @@ -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; +}