]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Use array_length of collection variable instead of expression
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 13 Jun 2019 13:58:58 +0000 (15:58 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Fri, 14 Jun 2019 05:12:45 +0000 (07:12 +0200)
codegen/valaccodecontrolflowmodule.vala

index 25c386f50cd5926f3ee660b56603c86f4291301b..df31fcef31b8d591d794e40aaa5278839007baaa 100644 (file)
@@ -242,10 +242,10 @@ public abstract class Vala.CCodeControlFlowModule : CCodeMethodModule {
                if (stmt.collection.value_type is ArrayType) {
                        array_type = (ArrayType) stmt.collection.value_type;
 
-                       var array_len = get_array_length_cexpression (stmt.collection);
+                       var array_len = get_variable_cexpression (get_array_length_cname (get_local_cname (collection_backup), 1));
 
                        // store array length for use by _vala_array_free
-                       ccode.add_assignment (get_variable_cexpression (get_array_length_cname (get_local_cname (collection_backup), 1)), array_len);
+                       ccode.add_assignment (array_len, get_array_length_cexpression (stmt.collection));
 
                        var iterator_variable = new LocalVariable (array_type.length_type.copy (), stmt.variable_name + "_it");
                        visit_local_variable (iterator_variable);