set_cvalue (expr, strcat);
} else {
// convert to g_strconcat (a, b, NULL)
+ var temp_var = get_temp_variable (expr.value_type, true, null, false);
+ var temp_ref = get_variable_cexpression (temp_var.name);
+ emit_temp_var (temp_var);
+
var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_strconcat"));
ccall.add_argument (cleft);
ccall.add_argument (cright);
ccall.add_argument (new CCodeConstant("NULL"));
- set_cvalue (expr, ccall);
+
+ ccode.add_assignment (temp_ref, ccall);
+ set_cvalue (expr, temp_ref);
}
return;
}