mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
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:
parent
0b9cdf07f7
commit
877f20d0d8
@ -87,43 +87,43 @@ union _GTypeCValue
|
||||
*/
|
||||
#define G_VALUE_COLLECT_INIT(value, _value_type, var_args, flags, __error) \
|
||||
G_STMT_START { \
|
||||
GValue *_val = (value); \
|
||||
guint _flags = (flags); \
|
||||
GTypeValueTable *_vtab = g_type_value_table_peek (_value_type); \
|
||||
const gchar *_collect_format = _vtab->collect_format; \
|
||||
GTypeCValue _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \
|
||||
guint _n_values = 0; \
|
||||
GValue *g_vci_val = (value); \
|
||||
guint g_vci_flags = (flags); \
|
||||
GTypeValueTable *g_vci_vtab = g_type_value_table_peek (_value_type); \
|
||||
const gchar *g_vci_collect_format = g_vci_vtab->collect_format; \
|
||||
GTypeCValue g_vci_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \
|
||||
guint g_vci_n_values = 0; \
|
||||
\
|
||||
_val->g_type = _value_type; /* value_meminit() from gvalue.c */ \
|
||||
while (*_collect_format) \
|
||||
g_vci_val->g_type = _value_type; /* value_meminit() from gvalue.c */ \
|
||||
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: \
|
||||
_cvalue->v_int = va_arg ((var_args), gint); \
|
||||
g_vci_cvalue->v_int = va_arg ((var_args), gint); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_LONG: \
|
||||
_cvalue->v_long = va_arg ((var_args), glong); \
|
||||
g_vci_cvalue->v_long = va_arg ((var_args), glong); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_INT64: \
|
||||
_cvalue->v_int64 = va_arg ((var_args), gint64); \
|
||||
g_vci_cvalue->v_int64 = va_arg ((var_args), gint64); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_DOUBLE: \
|
||||
_cvalue->v_double = va_arg ((var_args), gdouble); \
|
||||
g_vci_cvalue->v_double = va_arg ((var_args), gdouble); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_POINTER: \
|
||||
_cvalue->v_pointer = va_arg ((var_args), gpointer); \
|
||||
g_vci_cvalue->v_pointer = va_arg ((var_args), gpointer); \
|
||||
break; \
|
||||
default: \
|
||||
g_assert_not_reached (); \
|
||||
} \
|
||||
} \
|
||||
*(__error) = _vtab->collect_value (_val, \
|
||||
_n_values, \
|
||||
_cvalues, \
|
||||
_flags); \
|
||||
*(__error) = g_vci_vtab->collect_value (g_vci_val, \
|
||||
g_vci_n_values, \
|
||||
g_vci_cvalues, \
|
||||
g_vci_flags); \
|
||||
} G_STMT_END
|
||||
|
||||
/**
|
||||
@ -145,15 +145,15 @@ G_STMT_START { \
|
||||
* #GValue. That variant is faster than #G_VALUE_COLLECT.
|
||||
*/
|
||||
#define G_VALUE_COLLECT(value, var_args, flags, __error) G_STMT_START { \
|
||||
GValue *_value = (value); \
|
||||
GType _value_type = G_VALUE_TYPE (_value); \
|
||||
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \
|
||||
GValue *g_vc_value = (value); \
|
||||
GType g_vc_value_type = G_VALUE_TYPE (g_vc_value); \
|
||||
GTypeValueTable *g_vc_vtable = g_type_value_table_peek (g_vc_value_type); \
|
||||
\
|
||||
if (_vtable->value_free) \
|
||||
_vtable->value_free (_value); \
|
||||
memset (_value->data, 0, sizeof (_value->data)); \
|
||||
if (g_vc_vtable->value_free) \
|
||||
g_vc_vtable->value_free (g_vc_value); \
|
||||
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
|
||||
|
||||
/**
|
||||
@ -165,12 +165,12 @@ G_STMT_START { \
|
||||
*/
|
||||
#define G_VALUE_COLLECT_SKIP(_value_type, var_args) \
|
||||
G_STMT_START { \
|
||||
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \
|
||||
const gchar *_collect_format = _vtable->collect_format; \
|
||||
GTypeValueTable *g_vcs_vtable = g_type_value_table_peek (_value_type); \
|
||||
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: \
|
||||
va_arg ((var_args), gint); \
|
||||
@ -208,43 +208,43 @@ G_STMT_START { \
|
||||
*/
|
||||
#define G_VALUE_LCOPY(value, var_args, flags, __error) \
|
||||
G_STMT_START { \
|
||||
const GValue *_value = (value); \
|
||||
guint _flags = (flags); \
|
||||
GType _value_type = G_VALUE_TYPE (_value); \
|
||||
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \
|
||||
const gchar *_lcopy_format = _vtable->lcopy_format; \
|
||||
GTypeCValue _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \
|
||||
guint _n_values = 0; \
|
||||
const GValue *g_vl_value = (value); \
|
||||
guint g_vl_flags = (flags); \
|
||||
GType g_vl_value_type = G_VALUE_TYPE (g_vl_value); \
|
||||
GTypeValueTable *g_vl_vtable = g_type_value_table_peek (g_vl_value_type); \
|
||||
const gchar *g_vl_lcopy_format = g_vl_vtable->lcopy_format; \
|
||||
GTypeCValue g_vl_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 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: \
|
||||
_cvalue->v_int = va_arg ((var_args), gint); \
|
||||
g_vl_cvalue->v_int = va_arg ((var_args), gint); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_LONG: \
|
||||
_cvalue->v_long = va_arg ((var_args), glong); \
|
||||
g_vl_cvalue->v_long = va_arg ((var_args), glong); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_INT64: \
|
||||
_cvalue->v_int64 = va_arg ((var_args), gint64); \
|
||||
g_vl_cvalue->v_int64 = va_arg ((var_args), gint64); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_DOUBLE: \
|
||||
_cvalue->v_double = va_arg ((var_args), gdouble); \
|
||||
g_vl_cvalue->v_double = va_arg ((var_args), gdouble); \
|
||||
break; \
|
||||
case G_VALUE_COLLECT_POINTER: \
|
||||
_cvalue->v_pointer = va_arg ((var_args), gpointer); \
|
||||
g_vl_cvalue->v_pointer = va_arg ((var_args), gpointer); \
|
||||
break; \
|
||||
default: \
|
||||
g_assert_not_reached (); \
|
||||
} \
|
||||
} \
|
||||
*(__error) = _vtable->lcopy_value (_value, \
|
||||
_n_values, \
|
||||
_cvalues, \
|
||||
_flags); \
|
||||
*(__error) = g_vl_vtable->lcopy_value (g_vl_value, \
|
||||
g_vl_n_values, \
|
||||
g_vl_cvalues, \
|
||||
g_vl_flags); \
|
||||
} G_STMT_END
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user