Eric Kohl
7fb3f12ce5
widl: Implement support for ref pointers to simple structs.
2006-04-10 15:56:50 +02:00
Eric Kohl
83d72a4318
widl: Implement support for ref pointers to arrays of base types.
2006-04-05 10:58:25 +02:00
Robert Shearman
e2ea2b5891
widl: Fix the type offset for generated conformant string calls.
2006-04-03 21:36:06 +02:00
Robert Shearman
837e830a26
widl: There's no need to cast _StubMsg - it's already of the correct type.
2006-03-31 17:38:00 +02:00
Robert Shearman
506404ba09
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.
2006-03-31 17:37:51 +02:00
Robert Shearman
62eb9f4b0c
widl: Initialise the temporary variable to 0 for parameters with more than one level of indirection.
2006-03-31 17:37:35 +02:00
Robert Shearman
d82bb4ade9
widl: Create the correct variable type for parameters with more than one level of indirection.
2006-03-31 17:37:22 +02:00
Robert Shearman
27c3222715
widl: Re-use print_phase_basetype for generating return value marshaling and unmarshaling code.
2006-03-31 17:37:11 +02:00
Robert Shearman
3e065ab342
widl: Move handling of base type marshaling and unmarshaling to a separate function.
...
Move handling of base type marshaling and unmarshaling to a separate
function and improve it to support return values.
2006-03-31 17:37:01 +02:00
Robert Shearman
eb000448a0
widl: Use print_phase_function for printing NdrPointerFree call.
2006-03-31 17:36:39 +02:00
Robert Shearman
04632f6ab7
widl: Add a function to generate the Ndr type calls.
...
- Add a function to generate the Ndr type calls.
- Fix a typo where the aligned buffer was added to itself, rather than
assigned.
2006-03-31 17:36:23 +02:00
Robert Shearman
96f6a22ece
widl: Only write the buffer incrementing code for the marshaling and unmarshaling phases.
...
Only write the buffer incrementing code for the marshaling and
unmarshaling phases - buffer sizing is handled elsewhere and freeing
isn't applicable.
2006-03-31 17:36:06 +02:00
Robert Shearman
226c8f6b52
widl: Output the necessary sizing information for other phases.
...
Output the necessary sizing information for PHASE_BUFFERSIZE and
PHASE_FREE as well as PHASE_MARSHAL. Standardise this rule in a new
function.
2006-03-31 17:35:49 +02:00
Robert Shearman
4a67201b70
widl: Output NULL ref pointer check for pointer levels > 1 too.
2006-03-31 17:35:31 +02:00
Robert Shearman
73ff576554
widl: Fix a GCC warning in the generated client and server code.
2006-03-31 17:35:21 +02:00
Robert Shearman
4cd506b8fd
widl: The lval member of var_t is essentially a duplicate of eval->cval.
...
- Generate eval's for enums that don't explicitly have one. This means
that enums written in header files won't match exactly what has been put
into the IDL file, but the numeric constat is the same and MIDL does a
similar thing.
- Replace constant lookups with eval->cval instead of lval.
2006-03-31 17:35:04 +02:00
Robert Shearman
4edcf2de35
widl: De-reference parameters' types before deciding what to do with them.
...
De-reference parameters' types before deciding what to do with them.
Also dereference string parameters since they are immediately
dispatched to write_string_tfs when the string attribute is detected
without any further processing done on them.
2006-03-31 17:34:48 +02:00
Robert Shearman
4b5386e2cd
widl: Write pointer calls for all non-basetype pointer parameters to functions.
2006-03-31 17:34:38 +02:00
Robert Shearman
91dbc5ae28
widl: Write definitions for MIDL_user_allocate and MIDL_user_free in the header.
...
Write definitions for MIDL_user_allocate and MIDL_user_free in the
header when writing out RPC interfaces to prevent compile failures in
the generated client/server code.
2006-03-31 17:33:28 +02:00
Robert Shearman
071dfb188a
widl: Write out the pre- and postamble for RPC interfaces with no methods.
2006-03-31 17:32:38 +02:00
Robert Shearman
b38cd7ff5f
widl: Output interface defined guard for rpc interfaces too.
2006-03-31 17:32:09 +02:00
Robert Shearman
97d6f7c444
widl: NdrFcShort should be written out instead of NdrShort.
2006-03-31 17:31:44 +02:00
Robert Shearman
bed9fdec8d
widl: Output the numeric equivalent of FC_END, not the string FC_END itself.
2006-03-31 17:31:31 +02:00
Robert Shearman
3ec771a20f
widl: Support references in type_memsize.
2006-03-31 17:31:18 +02:00
Robert Shearman
3db71d9d9c
widl: Only output code for non-object interfaces in client and server.
...
Only output code for non-object interfaces in client and server
generation and convert the while loops into for loops.
2006-03-31 17:31:04 +02:00
Eric Kohl
12d4d9c229
widl: Implement support for ref pointers to strings.
2006-03-30 16:24:35 +02:00
Eric Kohl
1a5c6ef47d
widl: Implement support for pointers to base types.
2006-03-28 14:43:28 +02:00
Eric Kohl
6ad46cc961
widl: Fix base type alignments.
...
Generate aligned marshal and unmarshal code for base type arguments
and return values.
2006-03-23 17:06:25 +01:00
Eric Kohl
1550938a50
widl: Fix format string size calculation.
...
- Move proc format string size calculation from client.c and server.c
to typegen.c.
- Implement type format string size calculation.
2006-03-23 17:06:10 +01:00
Eric Kohl
623f142945
widl: Do not generate code that initializes a binding handle.
2006-03-18 18:06:41 +01:00
Eric Kohl
c7174f9fff
widl: Fix proc offset calculation.
...
A void return type is represented by a FC_END/FC_PAD sequence in the
proc format string. Increment the proc offset by two when a function
returns void.
2006-03-18 18:06:27 +01:00
Eric Kohl
919d14c577
widl: 'unsigned char' and 'byte' are must be distinct types.
2006-03-18 18:06:14 +01:00
Kevin Koltzau
a8b209752f
widl: Fix 64bit warning.
2006-02-22 22:17:25 +01:00
Mike Frysinger
5392844392
Add support for 'make install DESTDIR'.
2006-02-14 13:51:38 +01:00
Francois Gouget
90aaf6ba8f
include: Add missing LANG_xxx and SUBLANG_xxx constants.
2006-02-14 10:42:12 +01:00
Robert Shearman
59dd416fd2
widl: Fix a typo when removing TYPEFLAG_FDUAL.
2006-02-10 14:51:39 +01:00
Robert Shearman
91c35be7cc
widl: Write out more TYPEFLAGs and add more type library-specific
...
attributes to the parser.
2006-02-09 12:10:08 +01:00
Robert Shearman
649d5d0e8e
widl: Write out TYPEFLAG_FDUAL, TYPEFLAG_FDISPATCHABLE and
...
TYPEFLAG_FOLEAUTOMATION typelib flags.
2006-02-09 12:09:44 +01:00
Robert Shearman
59830d69b4
widl: Fix some warnings caused by making attributes const.
2006-02-07 16:25:10 +01:00
Alexandre Julliard
91da64c9ca
widl: Remove '\n' from yyerror calls.
2006-02-07 12:36:20 +01:00
Robert Shearman
4e40675032
widl: Make 'attrs' field of type_t const.
2006-02-07 12:32:57 +01:00
Robert Shearman
e9ec85a01a
widl: Remove unused 'rname' field of type_t.
2006-02-07 12:32:42 +01:00
Robert Shearman
55df46ab85
widl: Merge marshall_arguments and unmarshall_arguments into one
...
function to remove the large amount of duplicated code.
2006-02-07 12:32:24 +01:00
Robert Shearman
f1bb0a474b
widl: Yet more const attributes.
2006-02-07 12:31:43 +01:00
Robert Shearman
511463f3a5
widl: More const attributes.
2006-02-07 12:31:17 +01:00
Eric Kohl
417a61fa61
widl: Fix proc format string for explicit binding handles.
2006-02-07 12:30:55 +01:00
Robert Shearman
8d7fa4c013
widl: Write out the correct FC type if the structure has pointers.
2006-02-07 12:30:23 +01:00
Robert Shearman
4c8370f97e
widl: Split pointer writing into a separate function.
2006-02-07 12:30:07 +01:00
Robert Shearman
9f0c45b7e7
widl: Fix pointer detection for structures with embedded arrays.
...
Pointers have priority over every other type, so move the detection to
the top of get_struct_type.
Fall through from the embedded array detection to the embedded
structure handling code so that conformance, variance and pointer
presence is inherited from the array's base type.
2006-02-07 12:29:39 +01:00
Robert Shearman
864d5a38c5
widl: Increment the type format string when writing the pointer
...
layouts.
Write out pointer layouts for structures.
2006-02-07 12:28:33 +01:00