Commit 0e5d9b56 authored by Mike McCormack's avatar Mike McCormack Committed by Alexandre Julliard

Improve the handling of complex data types (strings and structs).

parent 3430bc2c
...@@ -1069,8 +1069,22 @@ static type_t *reg_type(type_t *type, char *name, int t) ...@@ -1069,8 +1069,22 @@ static type_t *reg_type(type_t *type, char *name, int t)
/* determine pointer type from attrs */ /* determine pointer type from attrs */
static unsigned char get_pointer_type( type_t *type ) static unsigned char get_pointer_type( type_t *type )
{ {
int t = get_attrv( type->attrs, ATTR_POINTERTYPE ); int t;
if( t ) return t; if (is_attr( type->attrs, ATTR_STRING ))
{
type_t *t = type;
while( t->type == 0 && t->ref )
t = t->ref;
switch( t->type )
{
case RPC_FC_CHAR:
return RPC_FC_C_CSTRING;
case RPC_FC_WCHAR:
return RPC_FC_C_WSTRING;
}
}
t = get_attrv( type->attrs, ATTR_POINTERTYPE );
if (t) return t;
return RPC_FC_FP; return RPC_FC_FP;
} }
......
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