Commit bf9d2904 authored by Alexandre Julliard's avatar Alexandre Julliard

widl: Don't call the buffer sizer routine when the size is known already.

parent 050f6f38
...@@ -3537,7 +3537,7 @@ static void write_remoting_arg(FILE *file, int indent, const var_t *func, const ...@@ -3537,7 +3537,7 @@ static void write_remoting_arg(FILE *file, int indent, const var_t *func, const
{ {
int in_attr, out_attr, pointer_type; int in_attr, out_attr, pointer_type;
const type_t *type = var->type; const type_t *type = var->type;
unsigned int start_offset = type->typestring_offset; unsigned int alignment, start_offset = type->typestring_offset;
if (is_ptr(type) || is_array(type)) if (is_ptr(type) || is_array(type))
pointer_type = get_pointer_fc(type, var->attrs, pass != PASS_RETURN); pointer_type = get_pointer_fc(type, var->attrs, pass != PASS_RETURN);
...@@ -3562,6 +3562,8 @@ static void write_remoting_arg(FILE *file, int indent, const var_t *func, const ...@@ -3562,6 +3562,8 @@ static void write_remoting_arg(FILE *file, int indent, const var_t *func, const
break; break;
} }
if (phase == PHASE_BUFFERSIZE && get_required_buffer_size( var, &alignment, pass )) return;
write_parameter_conf_or_var_exprs(file, indent, local_var_prefix, phase, var); write_parameter_conf_or_var_exprs(file, indent, local_var_prefix, phase, var);
switch (typegen_detect_type(type, var->attrs, TDT_ALL_TYPES)) switch (typegen_detect_type(type, var->attrs, TDT_ALL_TYPES))
......
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