Import and merge Wine-20041201
[reactos.git] / reactos / lib / rpcrt4 / winehq2ros.patch
1 Index: rpc_server.c
2 ===================================================================
3 RCS file: /home/wine/wine/dlls/rpcrt4/rpc_server.c,v
4 retrieving revision 1.30
5 diff -u -r1.30 rpc_server.c
6 --- rpc_server.c 17 Jun 2004 19:54:34 -0000 1.30
7 +++ rpc_server.c 8 Aug 2004 21:19:01 -0000
8 @@ -185,6 +185,7 @@
9 return packet;
10 }
11
12 +#ifndef __REACTOS__
13 typedef struct {
14 PRPC_MESSAGE msg;
15 void* buf;
16 @@ -205,20 +206,25 @@
17 TRACE("returning failure packet\n");
18 return EXCEPTION_EXECUTE_HANDLER;
19 }
20 +#endif
21
22 static void RPCRT4_process_packet(RpcConnection* conn, RpcPktHdr* hdr, RPC_MESSAGE* msg)
23 {
24 RpcServerInterface* sif;
25 RPC_DISPATCH_FUNCTION func;
26 +#ifndef __REACTOS__
27 packet_state state;
28 +#endif
29 UUID *object_uuid;
30 RpcPktHdr *response;
31 void *buf = msg->Buffer;
32 RPC_STATUS status;
33
34 +#ifndef __REACTOS__
35 state.msg = msg;
36 state.buf = buf;
37 TlsSetValue(worker_tls, &state);
38 +#endif
39
40 switch (hdr->common.ptype) {
41 case PKT_BIND:
42 @@ -305,11 +311,15 @@
43 MAKEWORD(hdr->common.drep[2], hdr->common.drep[3]));
44
45 /* dispatch */
46 +#ifndef __REACTOS__
47 __TRY {
48 if (func) func(msg);
49 } __EXCEPT(rpc_filter) {
50 /* failure packet was created in rpc_filter */
51 } __ENDTRY
52 +#else
53 + if (func) func(msg);
54 +#endif
55
56 /* send response packet */
57 I_RpcSend(msg);
58 @@ -333,7 +343,9 @@
59 I_RpcFreeBuffer(msg);
60 msg->Buffer = NULL;
61 RPCRT4_FreeHeader(hdr);
62 +#ifndef __REACTOS__
63 TlsSetValue(worker_tls, NULL);
64 +#endif
65 }
66
67 static DWORD CALLBACK RPCRT4_worker_thread(LPVOID the_arg)