widl: Declare fixed-size array args as pointers to arrays.

This commit is contained in:
Dan Hipschman 2007-04-25 18:20:56 -07:00 committed by Alexandre Julliard
parent cc09b0c19c
commit a67c37f871
3 changed files with 10 additions and 1 deletions

View File

@ -416,6 +416,8 @@ static void gen_stub(type_t *iface, const func_t *cur, const char *cas,
LIST_FOR_EACH_ENTRY( arg, cur->args, const var_t, entry ) LIST_FOR_EACH_ENTRY( arg, cur->args, const var_t, entry )
{ {
fprintf(proxy, ", "); fprintf(proxy, ", ");
if (arg->array)
fprintf(proxy, "*");
write_name(proxy, arg); write_name(proxy, arg);
} }
} }

View File

@ -211,6 +211,8 @@ static void write_function_stubs(type_t *iface, unsigned int *proc_offset, unsig
else else
fprintf(server, ",\n"); fprintf(server, ",\n");
print_server(""); print_server("");
if (var->array)
fprintf(server, "*");
write_name(server, var); write_name(server, var);
} }
fprintf(server, ");\n"); fprintf(server, ");\n");

View File

@ -2302,7 +2302,12 @@ void declare_stub_args( FILE *file, int indent, const func_t *func )
print_file(file, indent, ""); print_file(file, indent, "");
write_type(file, var->type, var, var->tname); write_type(file, var->type, var, var->tname);
fprintf(file, " "); fprintf(file, " ");
write_name(file, var); if (var->array) {
fprintf(file, "( *");
write_name(file, var);
fprintf(file, " )");
} else
write_name(file, var);
write_array(file, var->array, 0); write_array(file, var->array, 0);
fprintf(file, ";\n"); fprintf(file, ";\n");
} }