]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Use create_temp_value in try_cast_value_to_type
authorLuca Bruno <lucabru@src.gnome.org>
Tue, 14 Jun 2011 09:43:20 +0000 (11:43 +0200)
committerLuca Bruno <lucabru@src.gnome.org>
Wed, 6 Jul 2011 20:32:33 +0000 (22:32 +0200)
codegen/valaccodebasemodule.vala

index a09653e34bfd4f13a36252951f5fd5048290ae2c..cfcb5a46d94ad153812510de3450898fd5c9ae67 100644 (file)
@@ -4455,9 +4455,9 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        len_call.add_argument (rv);
                        append_array_length (expr, len_call);
                } else if (to is StructValueType) {
-                       var temp_decl = get_temp_variable (to, true, null, true);
-                       emit_temp_var (temp_decl);
-                       var ctemp = get_variable_cexpression (temp_decl.name);
+                       CodeNode node = expr != null ? (CodeNode) expr : to;
+                       var temp_value = create_temp_value (to, true, node, true);
+                       var ctemp = get_cvalue_ (temp_value);
 
                        rv = new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, new CCodeCastExpression (rv, (new PointerType(to)).get_cname ()));
                        var holds = new CCodeFunctionCall (new CCodeIdentifier ("G_VALUE_HOLDS"));