gobject: Add prefixes to variables in G_VALUE_COLLECT*() macros

This makes them a bit more unique (and, crucially, in the g_* namespace)
to avoid shadowing collisions with calling code.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://gitlab.gnome.org/GNOME/glib/issues/258
This commit is contained in:
Philip Withnall 2018-06-20 15:38:37 +01:00
parent 0b9cdf07f7
commit 877f20d0d8

View File

@ -87,43 +87,43 @@ union _GTypeCValue
*/ */
#define G_VALUE_COLLECT_INIT(value, _value_type, var_args, flags, __error) \ #define G_VALUE_COLLECT_INIT(value, _value_type, var_args, flags, __error) \
G_STMT_START { \ G_STMT_START { \
GValue *_val = (value); \ GValue *g_vci_val = (value); \
guint _flags = (flags); \ guint g_vci_flags = (flags); \
GTypeValueTable *_vtab = g_type_value_table_peek (_value_type); \ GTypeValueTable *g_vci_vtab = g_type_value_table_peek (_value_type); \
const gchar *_collect_format = _vtab->collect_format; \ const gchar *g_vci_collect_format = g_vci_vtab->collect_format; \
GTypeCValue _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \ GTypeCValue g_vci_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \
guint _n_values = 0; \ guint g_vci_n_values = 0; \
\ \
_val->g_type = _value_type; /* value_meminit() from gvalue.c */ \ g_vci_val->g_type = _value_type; /* value_meminit() from gvalue.c */ \
while (*_collect_format) \ while (*g_vci_collect_format) \
{ \ { \
GTypeCValue *_cvalue = _cvalues + _n_values++; \ GTypeCValue *g_vci_cvalue = g_vci_cvalues + g_vci_n_values++; \
\ \
switch (*_collect_format++) \ switch (*g_vci_collect_format++) \
{ \ { \
case G_VALUE_COLLECT_INT: \ case G_VALUE_COLLECT_INT: \
_cvalue->v_int = va_arg ((var_args), gint); \ g_vci_cvalue->v_int = va_arg ((var_args), gint); \
break; \ break; \
case G_VALUE_COLLECT_LONG: \ case G_VALUE_COLLECT_LONG: \
_cvalue->v_long = va_arg ((var_args), glong); \ g_vci_cvalue->v_long = va_arg ((var_args), glong); \
break; \ break; \
case G_VALUE_COLLECT_INT64: \ case G_VALUE_COLLECT_INT64: \
_cvalue->v_int64 = va_arg ((var_args), gint64); \ g_vci_cvalue->v_int64 = va_arg ((var_args), gint64); \
break; \ break; \
case G_VALUE_COLLECT_DOUBLE: \ case G_VALUE_COLLECT_DOUBLE: \
_cvalue->v_double = va_arg ((var_args), gdouble); \ g_vci_cvalue->v_double = va_arg ((var_args), gdouble); \
break; \ break; \
case G_VALUE_COLLECT_POINTER: \ case G_VALUE_COLLECT_POINTER: \
_cvalue->v_pointer = va_arg ((var_args), gpointer); \ g_vci_cvalue->v_pointer = va_arg ((var_args), gpointer); \
break; \ break; \
default: \ default: \
g_assert_not_reached (); \ g_assert_not_reached (); \
} \ } \
} \ } \
*(__error) = _vtab->collect_value (_val, \ *(__error) = g_vci_vtab->collect_value (g_vci_val, \
_n_values, \ g_vci_n_values, \
_cvalues, \ g_vci_cvalues, \
_flags); \ g_vci_flags); \
} G_STMT_END } G_STMT_END
/** /**
@ -145,15 +145,15 @@ G_STMT_START { \
* #GValue. That variant is faster than #G_VALUE_COLLECT. * #GValue. That variant is faster than #G_VALUE_COLLECT.
*/ */
#define G_VALUE_COLLECT(value, var_args, flags, __error) G_STMT_START { \ #define G_VALUE_COLLECT(value, var_args, flags, __error) G_STMT_START { \
GValue *_value = (value); \ GValue *g_vc_value = (value); \
GType _value_type = G_VALUE_TYPE (_value); \ GType g_vc_value_type = G_VALUE_TYPE (g_vc_value); \
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \ GTypeValueTable *g_vc_vtable = g_type_value_table_peek (g_vc_value_type); \
\ \
if (_vtable->value_free) \ if (g_vc_vtable->value_free) \
_vtable->value_free (_value); \ g_vc_vtable->value_free (g_vc_value); \
memset (_value->data, 0, sizeof (_value->data)); \ memset (g_vc_value->data, 0, sizeof (g_vc_value->data)); \
\ \
G_VALUE_COLLECT_INIT(value, _value_type, var_args, flags, __error); \ G_VALUE_COLLECT_INIT(value, g_vc_value_type, var_args, flags, __error); \
} G_STMT_END } G_STMT_END
/** /**
@ -165,12 +165,12 @@ G_STMT_START { \
*/ */
#define G_VALUE_COLLECT_SKIP(_value_type, var_args) \ #define G_VALUE_COLLECT_SKIP(_value_type, var_args) \
G_STMT_START { \ G_STMT_START { \
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \ GTypeValueTable *g_vcs_vtable = g_type_value_table_peek (_value_type); \
const gchar *_collect_format = _vtable->collect_format; \ const gchar *g_vcs_collect_format = g_vcs_vtable->collect_format; \
\ \
while (*_collect_format) \ while (*g_vcs_collect_format) \
{ \ { \
switch (*_collect_format++) \ switch (*g_vcs_collect_format++) \
{ \ { \
case G_VALUE_COLLECT_INT: \ case G_VALUE_COLLECT_INT: \
va_arg ((var_args), gint); \ va_arg ((var_args), gint); \
@ -208,43 +208,43 @@ G_STMT_START { \
*/ */
#define G_VALUE_LCOPY(value, var_args, flags, __error) \ #define G_VALUE_LCOPY(value, var_args, flags, __error) \
G_STMT_START { \ G_STMT_START { \
const GValue *_value = (value); \ const GValue *g_vl_value = (value); \
guint _flags = (flags); \ guint g_vl_flags = (flags); \
GType _value_type = G_VALUE_TYPE (_value); \ GType g_vl_value_type = G_VALUE_TYPE (g_vl_value); \
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \ GTypeValueTable *g_vl_vtable = g_type_value_table_peek (g_vl_value_type); \
const gchar *_lcopy_format = _vtable->lcopy_format; \ const gchar *g_vl_lcopy_format = g_vl_vtable->lcopy_format; \
GTypeCValue _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \ GTypeCValue g_vl_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \
guint _n_values = 0; \ guint g_vl_n_values = 0; \
\ \
while (*_lcopy_format) \ while (*g_vl_lcopy_format) \
{ \ { \
GTypeCValue *_cvalue = _cvalues + _n_values++; \ GTypeCValue *g_vl_cvalue = g_vl_cvalues + g_vl_n_values++; \
\ \
switch (*_lcopy_format++) \ switch (*g_vl_lcopy_format++) \
{ \ { \
case G_VALUE_COLLECT_INT: \ case G_VALUE_COLLECT_INT: \
_cvalue->v_int = va_arg ((var_args), gint); \ g_vl_cvalue->v_int = va_arg ((var_args), gint); \
break; \ break; \
case G_VALUE_COLLECT_LONG: \ case G_VALUE_COLLECT_LONG: \
_cvalue->v_long = va_arg ((var_args), glong); \ g_vl_cvalue->v_long = va_arg ((var_args), glong); \
break; \ break; \
case G_VALUE_COLLECT_INT64: \ case G_VALUE_COLLECT_INT64: \
_cvalue->v_int64 = va_arg ((var_args), gint64); \ g_vl_cvalue->v_int64 = va_arg ((var_args), gint64); \
break; \ break; \
case G_VALUE_COLLECT_DOUBLE: \ case G_VALUE_COLLECT_DOUBLE: \
_cvalue->v_double = va_arg ((var_args), gdouble); \ g_vl_cvalue->v_double = va_arg ((var_args), gdouble); \
break; \ break; \
case G_VALUE_COLLECT_POINTER: \ case G_VALUE_COLLECT_POINTER: \
_cvalue->v_pointer = va_arg ((var_args), gpointer); \ g_vl_cvalue->v_pointer = va_arg ((var_args), gpointer); \
break; \ break; \
default: \ default: \
g_assert_not_reached (); \ g_assert_not_reached (); \
} \ } \
} \ } \
*(__error) = _vtable->lcopy_value (_value, \ *(__error) = g_vl_vtable->lcopy_value (g_vl_value, \
_n_values, \ g_vl_n_values, \
_cvalues, \ g_vl_cvalues, \
_flags); \ g_vl_flags); \
} G_STMT_END } G_STMT_END