Module: wine
Branch: refs/heads/master
Commit: 714b66e9457dacf32e0bfefb9564e20e446bc44d
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=714b66e9457dacf32e0bfef…
Author: Robert Shearman <rob(a)codeweavers.com>
Date: Fri Mar 31 12:34:25 2006 +0100
ole: Use ncalrpc instead of ncacn_np as the RPC transport.
Use ncalrpc instead of ncacn_np as the transport as this is more similar
to how ole32 from NT works and should also be compatible with rpcrt4
from Win9x, allowing more combinations of dlls to work.
---
dlls/ole32/rpc.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index 6715f72..d849c6e 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -70,7 +70,7 @@ static CRITICAL_SECTION_DEBUG csRegIf_de
};
static CRITICAL_SECTION csRegIf = { &csRegIf_debug, -1, 0, 0, 0, 0 };
-static WCHAR wszPipeTransport[] = {'n','c','a','c','n','_','n','p',0};
+static WCHAR wszRpcTransport[] = {'n','c','a','l','r','p','c',0};
struct registered_if
@@ -447,7 +447,7 @@ HRESULT RPC_CreateClientChannel(const OX
status = RpcStringBindingComposeW(
NULL,
- wszPipeTransport,
+ wszRpcTransport,
NULL,
endpoint,
NULL,
@@ -683,7 +683,7 @@ void RPC_StartRemoting(struct apartment
get_rpc_endpoint(endpoint, &apt->oxid);
status = RpcServerUseProtseqEpW(
- wszPipeTransport,
+ wszRpcTransport,
RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
endpoint,
NULL);
Module: wine
Branch: refs/heads/master
Commit: 506404ba09fe5e7a4501d3f15f55df65e12d3531
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=506404ba09fe5e7a4501d3f…
Author: Robert Shearman <rob(a)codeweavers.com>
Date: Fri Mar 31 12:50:46 2006 +0100
widl: Only assign variables if not a string and only create a local variable if not a sized parameter.
Only assign variables if not a string and only create a local variable
if not a sized parameter. Fixes type mismatches in the generated code
due to differences in the algorithms between creating local variables
and using them.
---
tools/widl/server.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/tools/widl/server.c b/tools/widl/server.c
index 9ffb6b5..5188965 100644
--- a/tools/widl/server.c
+++ b/tools/widl/server.c
@@ -101,12 +101,16 @@ static void declare_args(const func_t *f
while (NEXT_LINK(var)) var = NEXT_LINK(var);
while (var)
{
+ const expr_t *size_is = get_attrp(var->attrs, ATTR_SIZEIS);
+ int has_size = size_is && (size_is->type != EXPR_VOID);
+ int is_string = is_attr(var->attrs, ATTR_STRING);
+
in_attr = is_attr(var->attrs, ATTR_IN);
out_attr = is_attr(var->attrs, ATTR_OUT);
if (!out_attr && !in_attr)
in_attr = 1;
- if (!in_attr && !is_attr(var->attrs, ATTR_STRING))
+ if (!in_attr && !has_size && !is_string)
{
int indirection;
print_server("");
@@ -143,6 +147,7 @@ static void assign_out_args(const func_t
while (NEXT_LINK(var)) var = NEXT_LINK(var);
while (var)
{
+ int is_string = is_attr(var->attrs, ATTR_STRING);
size_is = get_attrp(var->attrs, ATTR_SIZEIS);
has_size = size_is && (size_is->type != EXPR_VOID);
in_attr = is_attr(var->attrs, ATTR_IN);
@@ -165,7 +170,7 @@ static void assign_out_args(const func_t
write_expr(server, size_is, 1);
fprintf(server, " * %u);\n", get_type_memsize(type));
}
- else
+ else if (!is_string)
{
fprintf(server, " = &_W%u;\n", i);
if (var->ptr_level > 1)