Commit 2e0aefc1 authored by Rob Shearman's avatar Rob Shearman Committed by Alexandre Julliard

widl: Structures and arrays with pointers should be complex when generating code…

widl: Structures and arrays with pointers should be complex when generating code for 64-bit platforms. The non-complex variants depend on the wire size of the structure/array matching the buffer size, but this no longer applies when pointers are 8 bytes instead of 4.
parent 07e8ab45
......@@ -212,14 +212,28 @@ static int get_struct_type(const type_t *type)
break;
case RPC_FC_RP:
return RPC_FC_BOGUS_STRUCT;
case RPC_FC_UP:
case RPC_FC_FP:
case RPC_FC_OP:
if (pointer_size != 4)
return RPC_FC_BOGUS_STRUCT;
has_pointer = 1;
break;
case RPC_FC_CARRAY:
case RPC_FC_CVARRAY:
case RPC_FC_BOGUS_ARRAY:
{
unsigned int ptr_type = get_attrv(field->attrs, ATTR_POINTERTYPE);
if (!ptr_type || ptr_type == RPC_FC_RP)
return RPC_FC_BOGUS_STRUCT;
else if (pointer_size != 4)
return RPC_FC_BOGUS_STRUCT;
has_pointer = 1;
break;
}
/*
* Propagate member attributes
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment