Hans Leidekker : webservices: Read the string table in all sized envelopes.

Alexandre Julliard julliard at winehq.org
Thu Sep 21 15:01:00 CDT 2017


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

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Thu Sep 21 11:26:13 2017 +0200

webservices: Read the string table in all sized envelopes.

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

---

 dlls/webservices/channel.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/dlls/webservices/channel.c b/dlls/webservices/channel.c
index 16a8b84..a8ad012 100644
--- a/dlls/webservices/channel.c
+++ b/dlls/webservices/channel.c
@@ -1547,12 +1547,10 @@ static HRESULT send_preamble_ack( struct channel *channel )
     return S_OK;
 }
 
-static HRESULT receive_message_session_setup( struct channel *channel )
+static HRESULT receive_message_session( struct channel *channel )
 {
     HRESULT hr;
 
-    if ((hr = receive_preamble( channel )) != S_OK) return hr;
-    if ((hr = send_preamble_ack( channel )) != S_OK) return hr;
     if ((hr = receive_sized_envelope( channel )) != S_OK) return hr;
     if (channel->encoding == WS_ENCODING_XML_BINARY_SESSION_1)
     {
@@ -1566,13 +1564,6 @@ static HRESULT receive_message_session_setup( struct channel *channel )
     return init_reader( channel );
 }
 
-static HRESULT receive_message_session( struct channel *channel )
-{
-    HRESULT hr;
-    if ((hr = receive_sized_envelope( channel )) != S_OK) return hr;
-    return init_reader( channel );
-}
-
 static HRESULT receive_message_sock( struct channel *channel, SOCKET socket )
 {
     HRESULT hr;
@@ -1596,7 +1587,9 @@ static HRESULT receive_message( struct channel *channel )
             switch (channel->session_state)
             {
             case SESSION_STATE_UNINITIALIZED:
-                return receive_message_session_setup( channel );
+                if ((hr = receive_preamble( channel )) != S_OK) return hr;
+                if ((hr = send_preamble_ack( channel )) != S_OK) return hr;
+                /* fall through */
 
             case SESSION_STATE_SETUP_COMPLETE:
                 return receive_message_session( channel );




More information about the wine-cvs mailing list