]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Remove incorrect check when returning arrays from async methods
authorJürg Billeter <j@bitron.ch>
Wed, 1 Jun 2011 14:23:44 +0000 (16:23 +0200)
committerJürg Billeter <j@bitron.ch>
Wed, 1 Jun 2011 14:27:35 +0000 (16:27 +0200)
codegen/valaccodebasemodule.vala

index 3d8c07f19388c55e31f4f04241cf27393b3f248f..af937deead7b0473ba4bee2595aed55f56b30bd0 100644 (file)
@@ -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));