Jacek Caban : rpcrt4: Moved sending echo request to separated function.

Alexandre Julliard julliard at winehq.org
Wed Aug 15 14:08:32 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Aug 15 10:23:07 2012 +0200

rpcrt4: Moved sending echo request to separated function.

---

 dlls/rpcrt4/rpc_transport.c |   46 ++++++++++++++++++++++--------------------
 1 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/dlls/rpcrt4/rpc_transport.c b/dlls/rpcrt4/rpc_transport.c
index 347bb41..686ce68 100644
--- a/dlls/rpcrt4/rpc_transport.c
+++ b/dlls/rpcrt4/rpc_transport.c
@@ -2174,31 +2174,43 @@ static RPC_STATUS rpcrt4_http_internet_connect(RpcConnection_http *httpc)
     return RPC_S_OK;
 }
 
+static RPC_STATUS send_echo_request(HINTERNET req, RpcHttpAsyncData *async_data, HANDLE cancel_event)
+{
+    DWORD bytes_read;
+    BYTE buf[20];
+    BOOL ret;
+    RPC_STATUS status;
+
+    prepare_async_request(async_data);
+    ret = HttpSendRequestW(req, NULL, 0, NULL, 0);
+    status = wait_async_request(async_data, ret, cancel_event);
+    if (status != RPC_S_OK) return status;
+
+    status = rpcrt4_http_check_response(req);
+    if (status != RPC_S_OK) return status;
+
+    InternetReadFile(req, buf, sizeof(buf), &bytes_read);
+    /* FIXME: do something with retrieved data */
+
+    return RPC_S_OK;
+}
+
 /* prepare the in pipe for use by RPC packets */
 static RPC_STATUS rpcrt4_http_prepare_in_pipe(HINTERNET in_request, RpcHttpAsyncData *async_data, HANDLE cancel_event,
                                               const UUID *connection_uuid,
                                               const UUID *in_pipe_uuid,
                                               const UUID *association_uuid)
 {
-    BYTE packet[44];
     BOOL ret;
     RPC_STATUS status;
     RpcPktHdr *hdr;
     INTERNET_BUFFERSW buffers_in;
-    DWORD bytes_read, bytes_written;
+    DWORD bytes_written;
 
     /* prepare in pipe */
-    prepare_async_request(async_data);
-    ret = HttpSendRequestW(in_request, NULL, 0, NULL, 0);
-    status = wait_async_request(async_data, ret, cancel_event);
-    if(status != RPC_S_OK) return status;
-
-    status = rpcrt4_http_check_response(in_request);
+    status = send_echo_request(in_request, async_data, cancel_event);
     if (status != RPC_S_OK) return status;
 
-    InternetReadFile(in_request, packet, 20, &bytes_read);
-    /* FIXME: do something with retrieved data */
-
     memset(&buffers_in, 0, sizeof(buffers_in));
     buffers_in.dwStructSize = sizeof(buffers_in);
     /* FIXME: get this from the registry */
@@ -2275,26 +2287,16 @@ static RPC_STATUS rpcrt4_http_prepare_out_pipe(HINTERNET out_request,
                                                const UUID *out_pipe_uuid,
                                                ULONG *flow_control_increment)
 {
-    BYTE packet[20];
     BOOL ret;
     RPC_STATUS status;
     RpcPktHdr *hdr;
-    DWORD bytes_read;
     BYTE *data_from_server;
     RpcPktHdr pkt_from_server;
     ULONG field1, field3;
 
-    prepare_async_request(async_data);
-    ret = HttpSendRequestW(out_request, NULL, 0, NULL, 0);
-    status = wait_async_request(async_data, ret, cancel_event);
+    status = send_echo_request(out_request, async_data, cancel_event);
     if (status != RPC_S_OK) return status;
 
-    status = rpcrt4_http_check_response(out_request);
-    if (status != RPC_S_OK) return status;
-
-    InternetReadFile(out_request, packet, 20, &bytes_read);
-    /* FIXME: do something with retrieved data */
-
     hdr = RPCRT4_BuildHttpConnectHeader(0, TRUE, connection_uuid, out_pipe_uuid, NULL);
     if (!hdr) return RPC_S_OUT_OF_RESOURCES;
 




More information about the wine-cvs mailing list