widl: Issue an error if an out parameter is a conformant string.

This commit is contained in:
Rob Shearman 2010-03-23 13:33:32 +00:00 committed by Alexandre Julliard
parent cf45d59912
commit a3f649f730
1 changed files with 5 additions and 4 deletions

View File

@ -2527,10 +2527,11 @@ static void check_remoting_args(const var_t *func)
error_loc_info(&arg->loc_info, "out interface pointer \'%s\' of function \'%s\' is not a double pointer\n", arg->name, funcname);
break;
case TGT_STRING:
if (!is_array(type))
{
/* FIXME */
}
if (is_ptr(type) ||
(is_array(type) &&
(!type_array_has_conformance(type) ||
type_array_get_conformance(type)->type == EXPR_VOID)))
error_loc_info(&arg->loc_info, "out parameter \'%s\' of function \'%s\' cannot be an unsized string\n", arg->name, funcname);
break;
case TGT_INVALID:
/* already error'd before we get here */