Alexandre Julliard : widl: Only return a buffer size for fixed-size arrays.
Alexandre Julliard
julliard at winehq.org
Wed May 25 11:28:11 CDT 2011
Module: wine
Branch: master
Commit: 050f6f38d5b006e86732026531eba8402b0e93af
URL: http://source.winehq.org/git/wine.git/?a=commit;h=050f6f38d5b006e86732026531eba8402b0e93af
Author: Alexandre Julliard <julliard at 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;
More information about the wine-cvs
mailing list