Make the GVariant code compile with a non-gcc compiler
authorTor Lillqvist <tml@iki.fi>
Sun, 21 Mar 2010 09:22:06 +0000 (11:22 +0200)
committerTor Lillqvist <tml@iki.fi>
Sun, 21 Mar 2010 09:22:06 +0000 (11:22 +0200)
In particular, tested with Microsoft Visual C 2008.

glib/gvariant-core.c
glib/gvariant-serialiser.c
glib/gvariant.c
glib/gvarianttypeinfo.c

index 183fa09d75420ac4de1f5670fb8f30b32df8e8e9..e3597e484d8ce83369f8e50257082a5124dfde3a 100644 (file)
@@ -357,7 +357,7 @@ static void
 g_variant_serialise (GVariant *value,
                      gpointer  data)
 {
-  GVariantSerialised serialised = {  };
+  GVariantSerialised serialised = { 0, };
   gpointer *children;
   gsize n_children;
 
index 1cf330cf28cf00d392f1a2f896ccd757eae216f8..b365a491be68e6fb22f943583542efad7c2401cf 100644 (file)
@@ -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;
index be33fec9c9e345a1e4b741cf3cc821205d8e245c..154b0bab74ce2687d3107ab3b7c0f6449da65f21 100644 (file)
@@ -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))
     {
index f85db7e60b2725eefcff03537fe589a06a64278b..52f7b7d7636e987f14a2e54212a12057355df26b 100644 (file)
@@ -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
 };