Module: wine Branch: master Commit: 050f6f38d5b006e86732026531eba8402b0e93af URL: http://source.winehq.org/git/wine.git/?a=commit;h=050f6f38d5b006e86732026531...
Author: Alexandre Julliard julliard@winehq.org Date: Tue May 24 22:30:23 2011 +0200
widl: Only return a buffer size for fixed-size arrays.
---
tools/widl/typegen.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/tools/widl/typegen.c b/tools/widl/typegen.c index 2d2bd75..51f531d 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;