widl: Use the real argument names in the C method macros.

This commit is contained in:
Alexandre Julliard 2008-01-18 12:03:22 +01:00
parent 2cba11aa6f
commit ba5336175c
1 changed files with 9 additions and 11 deletions

View File

@ -578,23 +578,21 @@ static void write_method_macro(const type_t *iface, const char *name)
var_t *def = cur->def; var_t *def = cur->def;
if (!is_callas(def->attrs)) { if (!is_callas(def->attrs)) {
const var_t *arg; const var_t *arg;
int argc = 0;
int c;
if (cur->args) LIST_FOR_EACH_ENTRY( arg, cur->args, const var_t, entry ) argc++;
fprintf(header, "#define %s_", name); fprintf(header, "#define %s_", name);
write_name(header,def); write_name(header,def);
fprintf(header, "(p"); fprintf(header, "(This");
for (c=0; c<argc; c++) if (cur->args)
fprintf(header, ",%c", c+'a'); LIST_FOR_EACH_ENTRY( arg, cur->args, const var_t, entry )
fprintf(header, ",%s", arg->name);
fprintf(header, ") "); fprintf(header, ") ");
fprintf(header, "(p)->lpVtbl->"); fprintf(header, "(This)->lpVtbl->");
write_name(header, def); write_name(header, def);
fprintf(header, "(p"); fprintf(header, "(This");
for (c=0; c<argc; c++) if (cur->args)
fprintf(header, ",%c", c+'a'); LIST_FOR_EACH_ENTRY( arg, cur->args, const var_t, entry )
fprintf(header, ",%s", arg->name);
fprintf(header, ")\n"); fprintf(header, ")\n");
} }
} }