]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Avoid symbol clashes with "va_*" from "stdarg.h"
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 11 Mar 2020 09:06:39 +0000 (10:06 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 11 Mar 2020 09:07:40 +0000 (10:07 +0100)
Make a better choice for naming the local variables in
CCodeArrayModule.append_params_array()

In addition to 98ab3da89640b8b8a6c67044b4df1194672774bb

Fixes https://gitlab.gnome.org/GNOME/vala/issues/923

codegen/valaccodearraymodule.vala

index 8fa9e1c188967d772e186d2fae1802d9367b0728..c90bae49bf4e0462a7efc3fc7034121fb4bba1c9 100644 (file)
@@ -858,17 +858,17 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule {
                        cfile.add_include ("stdarg.h");
                }
                ccode.add_declaration ("va_list", new CCodeVariableDeclarator ("_va_list_%s".printf (get_ccode_name (local))));
-               var va_start = new CCodeFunctionCall (new CCodeIdentifier ("va_start"));
-               va_start.add_argument (new CCodeIdentifier ("_va_list_%s".printf (get_ccode_name (local))));
-               va_start.add_argument (new CCodeIdentifier ("_first_%s".printf (get_ccode_name (local))));
-               ccode.add_expression (va_start);
+               var vastart = new CCodeFunctionCall (new CCodeIdentifier ("va_start"));
+               vastart.add_argument (new CCodeIdentifier ("_va_list_%s".printf (get_ccode_name (local))));
+               vastart.add_argument (new CCodeIdentifier ("_first_%s".printf (get_ccode_name (local))));
+               ccode.add_expression (vastart);
 
                ccode.add_assignment (get_local_cexpression (element), new CCodeIdentifier ("_first_%s".printf (get_ccode_name (local))));
                ccode.open_while (new CCodeBinaryExpression (CCodeBinaryOperator.INEQUALITY, get_local_cexpression (element), new CCodeConstant ("NULL")));
 
-               var va_arg = new CCodeFunctionCall (new CCodeIdentifier ("va_arg"));
-               va_arg.add_argument (new CCodeIdentifier ("_va_list_%s".printf (get_ccode_name (local))));
-               va_arg.add_argument (new CCodeIdentifier (get_ccode_name (array_type.element_type)));
+               var vaarg = new CCodeFunctionCall (new CCodeIdentifier ("va_arg"));
+               vaarg.add_argument (new CCodeIdentifier ("_va_list_%s".printf (get_ccode_name (local))));
+               vaarg.add_argument (new CCodeIdentifier (get_ccode_name (array_type.element_type)));
 
                var ccall = new CCodeFunctionCall (new CCodeIdentifier (generate_array_add_wrapper (array_type)));
                ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_local_cexpression (local)));
@@ -877,12 +877,12 @@ public class Vala.CCodeArrayModule : CCodeMethodCallModule {
                ccall.add_argument (get_local_cexpression (element));
 
                ccode.add_expression (ccall);
-               ccode.add_assignment (get_local_cexpression (element), va_arg);
+               ccode.add_assignment (get_local_cexpression (element), vaarg);
 
                ccode.close ();
 
-               var va_end = new CCodeFunctionCall (new CCodeIdentifier ("va_end"));
-               va_end.add_argument (new CCodeIdentifier ("_va_list_%s".printf (get_ccode_name (local))));
-               ccode.add_expression (va_end);
+               var vaend = new CCodeFunctionCall (new CCodeIdentifier ("va_end"));
+               vaend.add_argument (new CCodeIdentifier ("_va_list_%s".printf (get_ccode_name (local))));
+               ccode.add_expression (vaend);
        }
 }