From 050f6f38d5b006e86732026531eba8402b0e93af Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 24 May 2011 22:30:23 +0200 Subject: [PATCH] widl: Only return a buffer size for fixed-size arrays. --- tools/widl/typegen.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 2d2bd75273..51f531df7c 100644 --- a/tools/widl/typegen.c +++ b/tools/widl/typegen.c @@ -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;