rpc D_PL3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




yay!  This solves the mismatch between msvc and gcc when returning
a struct in NdrClientCall2.  Thanks for all the help with this, guys.  Once
NdrClientCall2 becomes a little more useful, I'll try to make a patch to
restore source compatibility.

Changelog: 

* dlls/rpcrt4/ndr_stubless.c; include/rpcndr.h:
  Greg Turner <gmturner007@ameritech.net>
- use the msvc way to return a struct, fixing wierd problems.

LICENSE: X11

-- 
gmt

"It has been well said that really up-to-date liberals
do not care what people do, as long as it is compulsory."

-George F. Will

Index: include/rpcndr.h
===================================================================
RCS file: /home/wine/wine/include/rpcndr.h,v
retrieving revision 1.8
diff -u -r1.8 rpcndr.h
--- include/rpcndr.h	10 Oct 2002 19:23:33 -0000	1.8
+++ include/rpcndr.h	15 Oct 2002 23:31:33 -0000
@@ -276,9 +276,9 @@
 RPCRTAPI void RPC_ENTRY
   NdrConvert( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat );
 
-CLIENT_CALL_RETURN RPC_VAR_ENTRY
+LONG_PTR /* CLIENT_CALL_RETURN */ RPC_VAR_ENTRY
   NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
-CLIENT_CALL_RETURN RPC_VAR_ENTRY
+LONG_PTR /* CLIENT_CALL_RETURN */ RPC_VAR_ENTRY
   NdrClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... );
 
 RPCRTAPI void RPC_ENTRY
--- dlls/rpcrt4/ndr_stubless.c.D_PL2	2002-10-13 22:02:13.000000000 -0500
+++ dlls/rpcrt4/ndr_stubless.c	2002-10-15 18:17:58.000000000 -0500
@@ -39,7 +39,7 @@
 WINE_DEFAULT_DEBUG_CHANNEL(ole);
 
 
-LONG_PTR RPCRT4_NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, va_list args)
+LONG_PTR /* CLIENT_CALL_RETURN */ RPCRT4_NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, va_list args)
 {
 
   RPC_CLIENT_INTERFACE *rpc_cli_if = (RPC_CLIENT_INTERFACE *)(pStubDesc->RpcInterfaceInformation);
@@ -62,17 +62,16 @@
 /***********************************************************************
  *           NdrClientCall2 [RPCRT4.@]
  */
-CLIENT_CALL_RETURN WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc,
-                                         PFORMAT_STRING pFormat,
-                                         ...)
+LONG_PTR /* CLIENT_CALL_RETURN */ WINAPIV NdrClientCall2(PMIDL_STUB_DESC pStubDesc,
+  PFORMAT_STRING pFormat, ...)
 {
-    CLIENT_CALL_RETURN ret;
+    LONG_PTR ret;
     va_list args;
 
     TRACE("(%p,%p,...)\n", pStubDesc, pFormat);
 
     va_start(args, pFormat);
-    ret = (CLIENT_CALL_RETURN)RPCRT4_NdrClientCall2(pStubDesc, pFormat, args);
+    ret = RPCRT4_NdrClientCall2(pStubDesc, pFormat, args);
     va_end(args);
     return ret;
 }

[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux