RPC Merge (D_PL2)

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

 




Still WIP but at least this seems to be correct.

ChangeLog: "fix" stub for NdrClientCall2 to crash instead of displaying garbage
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
--- dlls/rpcrt4/ndr_stubless.c.D_PL1	2002-10-13 15:56:13.000000000 -0500
+++ dlls/rpcrt4/ndr_stubless.c	2002-10-13 22:01:20.000000000 -0500
@@ -42,18 +42,19 @@
 LONG_PTR RPCRT4_NdrClientCall2(PMIDL_STUB_DESC pStubDesc, PFORMAT_STRING pFormat, va_list args)
 {
 
-  FIXME("(pStubDec == ^%p,pFormat = \"%s\",...): stub\n", pStubDesc, pFormat);
+  RPC_CLIENT_INTERFACE *rpc_cli_if = (RPC_CLIENT_INTERFACE *)(pStubDesc->RpcInterfaceInformation);
 
-  PRPC_CLIENT_INTERFACE rpc_cli_if = (PRPC_CLIENT_INTERFACE) pStubDesc;
- 
-  TRACE("rpc_cli_if: Length == %d; InterfaceID == <%s,<%d.%d>>; TransferSyntax == <%s,<%d.%d>>; DispatchTable == ^%p; RpcProtseqEndpointCount == %d; RpcProtseqEndpoint == ^%p; Flags == %d\n",
-   rpc_cli_if->Length,
-   debugstr_guid(&rpc_cli_if->InterfaceId.SyntaxGUID), rpc_cli_if->InterfaceId.SyntaxVersion.MajorVersion, rpc_cli_if->InterfaceId.SyntaxVersion.MinorVersion,
-   debugstr_guid(&rpc_cli_if->TransferSyntax.SyntaxGUID), rpc_cli_if->TransferSyntax.SyntaxVersion.MajorVersion, rpc_cli_if->TransferSyntax.SyntaxVersion.MinorVersion,
-   rpc_cli_if->DispatchTable, 
-   rpc_cli_if->RpcProtseqEndpointCount, 
-   rpc_cli_if->RpcProtseqEndpoint, 
-   rpc_cli_if->Flags);
+  FIXME("(pStubDec == ^%p,pFormat = \"%s\",...): stub\n", pStubDesc, pFormat);
+  TRACE("rpc_cli_if == ^%p\n", rpc_cli_if);
+  if (rpc_cli_if) /* for objects this is NULL */
+    TRACE("rpc_cli_if: Length == %d; InterfaceID == <%s,<%d.%d>>; TransferSyntax == <%s,<%d.%d>>; DispatchTable == ^%p; RpcProtseqEndpointCount == %d; RpcProtseqEndpoint == ^%p; Flags == %d\n",
+     rpc_cli_if->Length,
+     debugstr_guid(&rpc_cli_if->InterfaceId.SyntaxGUID), rpc_cli_if->InterfaceId.SyntaxVersion.MajorVersion, rpc_cli_if->InterfaceId.SyntaxVersion.MinorVersion,
+     debugstr_guid(&rpc_cli_if->TransferSyntax.SyntaxGUID), rpc_cli_if->TransferSyntax.SyntaxVersion.MajorVersion, rpc_cli_if->TransferSyntax.SyntaxVersion.MinorVersion,
+     rpc_cli_if->DispatchTable, 
+     rpc_cli_if->RpcProtseqEndpointCount, 
+     rpc_cli_if->RpcProtseqEndpoint, 
+     rpc_cli_if->Flags);
 
   return 0;
 }

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

  Powered by Linux