From: Jürg Billeter Date: Wed, 1 Jun 2011 14:23:44 +0000 (+0200) Subject: codegen: Remove incorrect check when returning arrays from async methods X-Git-Tag: 0.12.1~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7aad821bfd6f3f323a2337d73da2ff356cf738f6;p=thirdparty%2Fvala.git codegen: Remove incorrect check when returning arrays from async methods --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 3d8c07f19..af937deea 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -3373,13 +3373,15 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { for (int dim = 1; dim <= array_type.rank; dim++) { var len_l = get_result_cexpression (get_array_length_cname ("result", dim)); - ccode.open_if (len_l); + var len_r = get_array_length_cexpression (stmt.return_expression, dim); if (!is_in_coroutine ()) { + ccode.open_if (len_l); len_l = new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, len_l); + ccode.add_assignment (len_l, len_r); + ccode.close (); + } else { + ccode.add_assignment (len_l, len_r); } - var len_r = get_array_length_cexpression (stmt.return_expression, dim); - ccode.add_assignment (len_l, len_r); - ccode.close (); } set_cvalue (stmt.return_expression, get_variable_cexpression (return_expr_decl.name));