On Friday 09 December 2005 20:21, Robert Shearman wrote:
(note: I see no problem with this patch)
print_server("*((");
write_type(server, def->type, def, def->tname);
- fprintf(server, " __RPC_FAR *)_StubMsg.Buffer)++ = _RetVal;\n");
+ fprintf(server, " *)_StubMsg.Buffer)++ = _RetVal;\n");
I remember sending a patch for the MIDL generated oleaut32/oaidl_p.c to
remove all these lvalue casts that had become illegal with the arrival
of gcc4 ("invalid lvalue in assignment"). To avoid these in widl the code
could read something like this:
print_server("*(");
write_type(server, def->type, def, def->tname);
fprintf(server, " *)_StubMsg.Buffer = _RetVal;\n");
fprintf(server, "_StubMsg.Buffer += sizeof(");
write_type(server, def->type, def, def->tname);
fprintf(server, ");\n");
I don't have my repository at hand now but I can send a patch this weekend.
-Hans