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