From: Luca Bruno Date: Mon, 6 Feb 2012 21:37:16 +0000 (+0100) Subject: codegen: Fix C warning when passing lambda free functions X-Git-Tag: 0.15.2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=684b10c4746f77fe424be7bd6d2c15b8bfaa1dbf;p=thirdparty%2Fvala.git codegen: Fix C warning when passing lambda free functions Fixes bug 663651. --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 54238d756..9d7395ed6 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -1910,11 +1910,12 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { cfile.add_function (ref_fun); var unref_fun = new CCodeFunction ("block%d_data_unref".printf (block_id), "void"); - unref_fun.add_parameter (new CCodeParameter ("_data%d_".printf (block_id), struct_name + "*")); + unref_fun.add_parameter (new CCodeParameter ("_userdata_", "void *")); unref_fun.modifiers = CCodeModifiers.STATIC; push_function (unref_fun); + ccode.add_declaration (struct_name + "*", new CCodeVariableDeclarator ("_data%d_".printf (block_id), new CCodeCastExpression (new CCodeIdentifier ("_userdata_"), struct_name + "*"))); ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_atomic_int_dec_and_test")); ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeMemberAccess.pointer (new CCodeIdentifier ("_data%d_".printf (block_id)), "_ref_count_"))); ccode.open_if (ccall);