[glib] Constify collect and lcopy strings in GTypeValueTable
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Constify collect and lcopy strings in GTypeValueTable
- Date: Fri, 6 Jul 2012 03:33:18 +0000 (UTC)
commit 2a87010831db5d4c18905103e9e7d804546552bf
Author: Emmanuele Bassi <ebassi linux intel com>
Date: Wed Mar 7 12:54:04 2012 +0000
Constify collect and lcopy strings in GTypeValueTable
This avoids warnings when creating idiomatic value tables, like:
static const GTypeValueTable _clutter_shader_float_value_table = {
clutter_value_init_shader_float,
clutter_value_free_shader_float,
clutter_value_copy_shader_float,
clutter_value_peek_pointer,
"ip",
clutter_value_collect_shader_float,
"pp",
clutter_value_lcopy_shader_float
};
Because the strings are literals. And, really: nobody should be using
allocated values for the collection and lcopy strings.
https://bugzilla.gnome.org/show_bug.cgi?id=671545
gobject/gtype.h | 4 ++--
gobject/gvaluecollector.h | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/gobject/gtype.h b/gobject/gtype.h
index 768ad00..14206ed 100644
--- a/gobject/gtype.h
+++ b/gobject/gtype.h
@@ -1206,12 +1206,12 @@ struct _GTypeValueTable
GValue *dest_value);
/* varargs functionality (optional) */
gpointer (*value_peek_pointer) (const GValue *value);
- gchar *collect_format;
+ const gchar *collect_format;
gchar* (*collect_value) (GValue *value,
guint n_collect_values,
GTypeCValue *collect_values,
guint collect_flags);
- gchar *lcopy_format;
+ const gchar *lcopy_format;
gchar* (*lcopy_value) (const GValue *value,
guint n_collect_values,
GTypeCValue *collect_values,
diff --git a/gobject/gvaluecollector.h b/gobject/gvaluecollector.h
index 6d5190e..05a436a 100644
--- a/gobject/gvaluecollector.h
+++ b/gobject/gvaluecollector.h
@@ -92,7 +92,7 @@ G_STMT_START { \
GValue *_val = (value); \
guint _flags = (flags); \
GTypeValueTable *_vtab = g_type_value_table_peek (_value_type); \
- gchar *_collect_format = _vtab->collect_format; \
+ const gchar *_collect_format = _vtab->collect_format; \
GTypeCValue _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \
guint _n_values = 0; \
\
@@ -161,7 +161,7 @@ G_STMT_START { \
#define G_VALUE_COLLECT_SKIP(_value_type, var_args) \
G_STMT_START { \
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \
- gchar *_collect_format = _vtable->collect_format; \
+ const gchar *_collect_format = _vtable->collect_format; \
\
while (*_collect_format) \
{ \
@@ -207,7 +207,7 @@ G_STMT_START { \
guint _flags = (flags); \
GType _value_type = G_VALUE_TYPE (_value); \
GTypeValueTable *_vtable = g_type_value_table_peek (_value_type); \
- gchar *_lcopy_format = _vtable->lcopy_format; \
+ const gchar *_lcopy_format = _vtable->lcopy_format; \
GTypeCValue _cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; \
guint _n_values = 0; \
\
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]