-Dmitry Timoshkov <dmitry <at> codeweavers.com> Mon Nov 10 2008

widl: Make the generated string pointers const as well.

-Alexandre Julliard <julliard <at> winehq.org> Tue Nov 25 2008
widl: Make sure format strings for structure and union types are only output once.

svn path=/trunk/; revision=38599
This commit is contained in:
Christoph von Wittich 2009-01-06 06:16:55 +00:00
parent 03327dfba3
commit 4f4e13929b

View file

@ -1866,8 +1866,9 @@ static size_t write_struct_tfs(FILE *file, type_t *type,
nothing is written to file yet. On the actual writing pass,
this will have been updated. */
unsigned int absoff = type->ptrdesc ? type->ptrdesc : *tfsoff;
short reloff = absoff - *tfsoff;
print_file(file, 2, "NdrFcShort(0x%hx),\t/* Offset= %hd (%u) */\n",
int reloff = absoff - *tfsoff;
assert( reloff >= 0 );
print_file(file, 2, "NdrFcShort(0x%x),\t/* Offset= %d (%u) */\n",
reloff, reloff, absoff);
*tfsoff += 2;
}
@ -2256,6 +2257,8 @@ static size_t write_typeformatstring_var(FILE *file, int indent, const func_t *f
if (is_base_type(type->type))
return 0;
if (processed(type)) return type->typestring_offset;
switch (type->type)
{
case RPC_FC_STRUCT:
@ -3351,7 +3354,7 @@ void write_endpoints( FILE *f, const char *prefix, const str_list_t *list )
const char *p;
/* this should be an array of RPC_PROTSEQ_ENDPOINT but we want const strings */
print_file( f, 0, "static const unsigned char * %s__RpcProtseqEndpoint[][2] =\n{\n", prefix );
print_file( f, 0, "static const unsigned char * const %s__RpcProtseqEndpoint[][2] =\n{\n", prefix );
LIST_FOR_EACH_ENTRY( endpoint, list, const struct str_list_entry_t, entry )
{
print_file( f, 1, "{ (const unsigned char *)\"" );