ccode_params.append_printf ("%sarray_null_terminated = true", separator);
separator = ", ";
}
+ if (m.array_length_type != null && m.return_type is ArrayType) {
+ ccode_params.append_printf ("%sarray_length_type = \"%s\"", separator, m.array_length_type);
+ separator = ", ";
+ }
if (!float_equal (m.cdelegate_target_parameter_position, -3)) {
ccode_params.append_printf ("%sdelegate_target_pos = %g", separator, m.cdelegate_target_parameter_position);
separator = ", ";
m.no_array_length = true;
m.array_null_terminated = true;
}
+ } else if (nv[0] == "array_length_type") {
+ m.array_length_type = eval (nv[1]);
} else if (nv[0] == "type_name") {
var sym = new UnresolvedSymbol (null, eval (nv[1]));
if (return_type is UnresolvedType) {