summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--glib/gvariant-core.c2
-rw-r--r--glib/gvariant-serialiser.c28
-rw-r--r--glib/gvariant.c8
-rw-r--r--glib/gvarianttypeinfo.c22
4 files changed, 33 insertions, 27 deletions
diff --git a/glib/gvariant-core.c b/glib/gvariant-core.c
index 183fa09d7..e3597e484 100644
--- a/glib/gvariant-core.c
+++ b/glib/gvariant-core.c
@@ -357,7 +357,7 @@ static void
g_variant_serialise (GVariant *value,
gpointer data)
{
- GVariantSerialised serialised = { };
+ GVariantSerialised serialised = { 0, };
gpointer *children;
gsize n_children;
diff --git a/glib/gvariant-serialiser.c b/glib/gvariant-serialiser.c
index 1cf330cf2..b365a491b 100644
--- a/glib/gvariant-serialiser.c
+++ b/glib/gvariant-serialiser.c
@@ -333,7 +333,7 @@ gvs_variable_sized_maybe_needed_size (GVariantTypeInfo *type_info,
{
if (n_children)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
gvs_filler (&child, children[0]);
@@ -414,7 +414,7 @@ static GVariantSerialised
gvs_fixed_sized_array_get_child (GVariantSerialised value,
gsize index_)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
child.type_info = g_variant_type_info_element (value.type_info);
g_variant_type_info_query (child.type_info, NULL, &child.size);
@@ -443,7 +443,7 @@ gvs_fixed_sized_array_serialise (GVariantSerialised value,
const gpointer *children,
gsize n_children)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
gsize i;
child.type_info = g_variant_type_info_element (value.type_info);
@@ -460,7 +460,7 @@ gvs_fixed_sized_array_serialise (GVariantSerialised value,
static gboolean
gvs_fixed_sized_array_is_normal (GVariantSerialised value)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
child.type_info = g_variant_type_info_element (value.type_info);
g_variant_type_info_query (child.type_info, NULL, &child.size);
@@ -620,7 +620,7 @@ static GVariantSerialised
gvs_variable_sized_array_get_child (GVariantSerialised value,
gsize index_)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
gsize offset_size;
gsize last_end;
gsize start;
@@ -676,7 +676,7 @@ gvs_variable_sized_array_needed_size (GVariantTypeInfo *type_info,
for (i = 0; i < n_children; i++)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
offset += (-offset) & alignment;
gvs_filler (&child, children[i]);
@@ -706,7 +706,7 @@ gvs_variable_sized_array_serialise (GVariantSerialised value,
for (i = 0; i < n_children; i++)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
while (offset & alignment)
value.data[offset++] = '\0';
@@ -723,7 +723,7 @@ gvs_variable_sized_array_serialise (GVariantSerialised value,
static gboolean
gvs_variable_sized_array_is_normal (GVariantSerialised value)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
gsize offsets_array_size;
guchar *offsets_array;
guint offset_size;
@@ -825,7 +825,7 @@ gvs_tuple_get_child (GVariantSerialised value,
gsize index_)
{
const GVariantMemberInfo *member_info;
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
gsize offset_size;
gsize start, end;
@@ -936,7 +936,7 @@ gvs_tuple_needed_size (GVariantTypeInfo *type_info,
offset += fixed_size;
else
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
gvs_filler (&child, children[i]);
offset += child.size;
@@ -962,7 +962,7 @@ gvs_tuple_serialise (GVariantSerialised value,
for (i = 0; i < n_children; i++)
{
const GVariantMemberInfo *member_info;
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
guint alignment;
member_info = g_variant_type_info_member_info (value.type_info, i);
@@ -1112,7 +1112,7 @@ static inline GVariantSerialised
gvs_variant_get_child (GVariantSerialised value,
gsize index_)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
/* NOTE: not O(1) and impossible for it to be... */
if (value.size)
@@ -1169,7 +1169,7 @@ gvs_variant_needed_size (GVariantTypeInfo *type_info,
const gpointer *children,
gsize n_children)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
const gchar *type_string;
gvs_filler (&child, children[0]);
@@ -1184,7 +1184,7 @@ gvs_variant_serialise (GVariantSerialised value,
const gpointer *children,
gsize n_children)
{
- GVariantSerialised child = { };
+ GVariantSerialised child = { 0, };
const gchar *type_string;
child.data = value.data;
diff --git a/glib/gvariant.c b/glib/gvariant.c
index be33fec9c..154b0bab7 100644
--- a/glib/gvariant.c
+++ b/glib/gvariant.c
@@ -1084,13 +1084,17 @@ const gchar *
g_variant_get_string (GVariant *value,
gsize *length)
{
+ gconstpointer data;
+ gsize size;
+
g_return_val_if_fail (value != NULL, NULL);
g_return_val_if_fail (
g_variant_is_of_type (value, G_VARIANT_TYPE_STRING) ||
g_variant_is_of_type (value, G_VARIANT_TYPE_OBJECT_PATH) ||
g_variant_is_of_type (value, G_VARIANT_TYPE_SIGNATURE), NULL);
- gconstpointer data = g_variant_get_data (value);
- gsize size = g_variant_get_size (value);
+
+ data = g_variant_get_data (value);
+ size = g_variant_get_size (value);
if (!g_variant_is_trusted (value))
{
diff --git a/glib/gvarianttypeinfo.c b/glib/gvarianttypeinfo.c
index f85db7e60..52f7b7d76 100644
--- a/glib/gvarianttypeinfo.c
+++ b/glib/gvarianttypeinfo.c
@@ -111,33 +111,35 @@ typedef struct
/* Hard-code the base types in a constant array */
static const GVariantTypeInfo g_variant_type_info_basic_table[24] = {
#define fixed_aligned(x) x, x - 1
+#define not_a_type 0,
#define unaligned 0, 0
#define aligned(x) 0, x - 1
/* 'b' */ { fixed_aligned(1) }, /* boolean */
- /* 'c' */ { },
+ /* 'c' */ { not_a_type },
/* 'd' */ { fixed_aligned(8) }, /* double */
- /* 'e' */ { },
- /* 'f' */ { },
+ /* 'e' */ { not_a_type },
+ /* 'f' */ { not_a_type },
/* 'g' */ { unaligned }, /* signature string */
/* 'h' */ { fixed_aligned(4) }, /* file handle (int32) */
/* 'i' */ { fixed_aligned(4) }, /* int32 */
- /* 'j' */ { },
- /* 'k' */ { },
- /* 'l' */ { },
- /* 'm' */ { },
+ /* 'j' */ { not_a_type },
+ /* 'k' */ { not_a_type },
+ /* 'l' */ { not_a_type },
+ /* 'm' */ { not_a_type },
/* 'n' */ { fixed_aligned(2) }, /* int16 */
/* 'o' */ { unaligned }, /* object path string */
- /* 'p' */ { },
+ /* 'p' */ { not_a_type },
/* 'q' */ { fixed_aligned(2) }, /* uint16 */
- /* 'r' */ { },
+ /* 'r' */ { not_a_type },
/* 's' */ { unaligned }, /* string */
/* 't' */ { fixed_aligned(8) }, /* uint64 */
/* 'u' */ { fixed_aligned(4) }, /* uint32 */
/* 'v' */ { aligned(8) }, /* variant */
- /* 'w' */ { },
+ /* 'w' */ { not_a_type },
/* 'x' */ { fixed_aligned(8) }, /* int64 */
/* 'y' */ { fixed_aligned(1) }, /* byte */
#undef fixed_aligned
+#undef not_a_type
#undef unaligned
#undef aligned
};