]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ir.c
First draft of handling the [frame,think] notation
[xonotic/gmqcc.git] / ir.c
diff --git a/ir.c b/ir.c
index 636076ef6a1f7bff9ada181ba573b27ce36a4e54..dcf03e0f2905397a839542194e2b1c58b820fc20 100644 (file)
--- a/ir.c
+++ b/ir.c
@@ -177,7 +177,7 @@ void ir_builder_delete(ir_builder* self)
     for (i = 0; i != self->globals_count; ++i) {
         ir_value_delete(self->globals[i]);
     }
-    MEM_VECTOR_CLEAR(self, fields);
+    MEM_VECTOR_CLEAR(self, globals);
     for (i = 0; i != self->fields_count; ++i) {
         ir_value_delete(self->fields[i]);
     }
@@ -1077,11 +1077,11 @@ bool ir_block_create_return(ir_block *self, ir_value *v)
     if (!in)
         return false;
 
-    if (!ir_instr_op(in, 0, v, false) ||
-        !ir_block_instr_add(self, in) )
-    {
+    if (v && !ir_instr_op(in, 0, v, false))
+        return false;
+
+    if (!ir_block_instr_add(self, in))
         return false;
-    }
     return true;
 }