forked from Mirrors/wine-wine
widl: Make sure format strings for structure and union types are only output once.
parent
f552c90c30
commit
0b7478a79f
|
@ -1864,8 +1864,9 @@ static size_t write_struct_tfs(FILE *file, type_t *type,
|
||||||
nothing is written to file yet. On the actual writing pass,
|
nothing is written to file yet. On the actual writing pass,
|
||||||
this will have been updated. */
|
this will have been updated. */
|
||||||
unsigned int absoff = type->ptrdesc ? type->ptrdesc : *tfsoff;
|
unsigned int absoff = type->ptrdesc ? type->ptrdesc : *tfsoff;
|
||||||
short reloff = absoff - *tfsoff;
|
int reloff = absoff - *tfsoff;
|
||||||
print_file(file, 2, "NdrFcShort(0x%hx),\t/* Offset= %hd (%u) */\n",
|
assert( reloff >= 0 );
|
||||||
|
print_file(file, 2, "NdrFcShort(0x%x),\t/* Offset= %d (%u) */\n",
|
||||||
reloff, reloff, absoff);
|
reloff, reloff, absoff);
|
||||||
*tfsoff += 2;
|
*tfsoff += 2;
|
||||||
}
|
}
|
||||||
|
@ -2254,6 +2255,8 @@ static size_t write_typeformatstring_var(FILE *file, int indent, const func_t *f
|
||||||
if (is_base_type(type->type))
|
if (is_base_type(type->type))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (processed(type)) return type->typestring_offset;
|
||||||
|
|
||||||
switch (type->type)
|
switch (type->type)
|
||||||
{
|
{
|
||||||
case RPC_FC_STRUCT:
|
case RPC_FC_STRUCT:
|
||||||
|
|
Loading…
Reference in New Issue