Commit Graph

1926 Commits

Author SHA1 Message Date
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
Detlef Riekenberg 5ca18a1135 tools: Remove wineconf. 2006-03-30 12:44:30 +02:00
Eric Kohl 1a5c6ef47d widl: Implement support for pointers to base types. 2006-03-28 14:43:28 +02:00
Vitaly Lipatov 5072fd440a wineshelllink: Remove quotes from Path=<workdir>. 2006-03-28 12:22:59 +02:00
Jonathan Ernst 1e408c954c wine.inf: Add some more fake dlls to the system directory. 2006-03-28 12:22:47 +02:00
Vitaly Lipatov 94dcabecd8 wine.inf: Add some dll stub dll to the system directory. 2006-03-27 11:31:45 +02:00
Paul Vriens a589eb27ac wine.inf: Add SystemRoot. 2006-03-27 11:31:06 +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
Mike McCormack c3c112de23 wine.inf: Add a shdocvw.dll stub dll to the system directory. 2006-03-22 21:36:29 +01:00
Francois Gouget 0c02e4671e Update win32.api to match the current sources. 2006-03-21 20:03:10 +01:00
Huw Davies 130a0e4f41 fonts: Use the EBLC table to retrieve the ascent of the bitmap font. 2006-03-21 20:01:55 +01:00
Alexandre Julliard ef4440ad1b sfnt2fnt: Remove output file on failure. 2006-03-21 16:19:07 +01:00
Alexandre Julliard d6df0ac717 winewrapper: Remove explicit call to wineprefixcreate.
Now that wineprefixcreate detects the build tree automatically, the
standard behavior of starting it from ntdll should work fine.
2006-03-21 12:01:12 +01:00
Alexandre Julliard d404fb5bf8 wine.inf: Use the new fake dlls mechanism to create placeholders for
applications instead of using symlinks.
2006-03-21 11:40:11 +01:00
Alexandre Julliard c33fbc0df8 wineprefixcreate: Autodetect the running from build tree case. 2006-03-18 19:41:33 +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
Alexandre Julliard 870d490eec winegcc: Look for libraries in subdirs of the library path too.
This means that -lfoo will match the library 'foo/libfoo.def' in
addition to just 'libfoo.def'. This allows supporting the Wine source
layout without adding a gazillion path entries.
2006-03-16 16:28:04 +01:00
Alexandre Julliard b47f0593c8 wineprefixcreate: Fixed datadir path. Added dependency on relpath. 2006-03-15 09:54:19 +01:00
Pierre d'Herbemont b1be724511 wineprefixcreate: Make path searching relative. 2006-03-14 18:58:40 +01:00
Jan Zerebecki f2c8a537d7 wine.inf: Increase the DirectX version to that of the latest 9.0c . 2006-03-14 17:49:40 +01:00
Paul Vriens b25474ffd6 wine.inf: Add RegisteredOwner and Org also to WindowsNT branch. 2006-03-13 13:31:13 +01:00
Mike McCormack 69dcbaaf93 wrc: Don't use identifiers starting yy*, they're reserved for flex. 2006-03-06 17:50:52 +01:00
Mike McCormack af9288d591 wine.inf: Add a default RelayExclude. 2006-03-02 11:58:07 +01:00
Alexandre Julliard 8f08fe6c0d wrc: Integer ids can be used for control labels instead of strings. 2006-02-28 15:27:25 +01:00
Detlef Riekenberg 8a8a54877e wine.inf: Add printing section for local port monitor. 2006-02-28 12:40:39 +01:00
Francois Gouget be6d891f0d advpack: Prepare the unicodification of advpack.dll.
All functions that manipulate strings should have an Ansi and a
Unicode variant.
Forward the unqualified dll entry points to the Ansi variant for
backward compatibility.
We're not allowed to use unqualified entry points in Wine, so change
RegInstall() calls to RegInstallA().
Update win32.api.
2006-02-27 15:57:33 +01:00