widl: Only return a buffer size for fixed-size arrays.

This commit is contained in:
Alexandre Julliard 2011-05-24 22:30:23 +02:00
parent 6c9cff2e3f
commit 050f6f38d5
1 changed files with 11 additions and 3 deletions

View File

@ -3214,9 +3214,17 @@ static unsigned int get_required_buffer_size_type(
case TGT_ARRAY:
if (get_pointer_fc(type, attrs, toplevel_param) == RPC_FC_RP)
return type_array_get_dim(type) *
get_required_buffer_size_type(type_array_get_element(type), name,
NULL, FALSE, alignment);
{
switch (get_array_fc(type))
{
case RPC_FC_SMFARRAY:
case RPC_FC_LGFARRAY:
return type_array_get_dim(type) *
get_required_buffer_size_type(type_array_get_element(type), name,
NULL, FALSE, alignment);
}
}
break;
default:
break;