Sweden-Number/tools/widl
Rob Shearman cc51c30a63 widl: Fix optimisation for writing out ref pointers to simple structs and base types.
The optimisation in write_remoting_arg for sizing, marshalling,
unmarshalling and freeing ref pointers to base types directly was
broken in d458a599eb and caused
unnecessary calls to pointer marshalling functions.

The same was true for a similar optimisation for simple structures
where their size can be pre-calculated, freeing omitted and the
NdrSimpleStructMarshall/Unmarshall functions called directly instead
of calling NdrPointerMarshall/Unmarshall first.

Fix this by looking at the type of the referrent instead of the type
of the pointer, making sure to not classify user types as simple
structures.

Additionally remove some dead code that would never be executed
because the code is in an RPC_FC_RP case, inside a !is_ptr if block
(and RPC_FC_RP is a pointer type).
2008-12-01 12:46:46 +01:00
..
Makefile.in makefiles: Recurse into all directories for install-lib and install-dev too. 2008-08-25 14:27:03 +02:00
client.c widl: Remove unnecessary casts in the generated code. 2008-09-15 19:40:51 +02:00
expr.c widl: Infrastructure for adding a prefix to local variable references. 2008-09-15 16:46:01 +02:00
expr.h widl: Infrastructure for adding a prefix to local variable references. 2008-09-15 16:46:01 +02:00
hash.c "One liners" printf format warning fixes for the migration of DWORD/LONG/ULONG from long to int. 2006-09-29 16:09:24 +02:00
hash.h Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
header.c widl: Don't automatically add DUMMYUNIONNAME and DUMMYSTRUCTNAME names to anonymous unions and structs. 2008-09-18 14:18:28 +02:00
header.h widl: Replace write_name() by get_name() to make the code more readable. 2008-08-30 11:15:04 +02:00
parser.h widl: Be more strict about where semicolons can appear in IDL files. 2008-04-01 19:10:43 +02:00
parser.l widl: Include errno.h. 2008-10-20 22:33:40 +02:00
parser.y widl: Add support for attributes on enum, struct and union definitions. 2008-10-10 12:54:05 +02:00
proxy.c widl: Do not make the stub vtbl const for delegating interfaces since it needs to be patched up at run-time. 2008-12-01 11:30:05 +01:00
server.c widl: Remove superfluous semicolons. 2008-11-17 13:11:47 +01:00
typegen.c widl: Fix optimisation for writing out ref pointers to simple structs and base types. 2008-12-01 12:46:46 +01:00
typegen.h widl: Infrastructure for adding a prefix to local variable references. 2008-09-15 16:46:01 +02:00
typelib.c widl: Open files in binary mode to avoid corruption from text mode on Windows. 2008-09-10 10:40:18 +02:00
typelib.h widl: Create a list of statements in the whole IDL file, instead of just a list of interfaces. 2008-04-24 22:32:20 +02:00
typelib_struct.h Assorted spelling fixes. 2008-01-23 21:16:22 +01:00
utils.c widl: Mark non-returning functions as noreturn. 2008-05-07 12:07:54 +02:00
utils.h widl: Mark non-returning functions as noreturn. 2008-05-07 12:07:54 +02:00
widl.c widl: Fix the handling of proxy delegation. 2008-11-28 12:55:59 +01:00
widl.h widl: Create a list of statements in the whole IDL file, instead of just a list of interfaces. 2008-04-24 22:32:20 +02:00
widl.man.in Assorted spelling fixes. 2007-11-09 13:07:12 +01:00
widltypes.h widl: Implement type redefinition checks. 2008-07-02 11:40:50 +02:00
write_msft.c widl: Remove redundant code. 2008-09-11 11:45:33 +02:00