[glib/gsettings] junk for now



commit cb1803deaf5f5ccab1d79d3a7e2a38c9c4ddc30c
Author: Ryan Lortie <desrt desrt ca>
Date:   Thu Aug 27 13:40:55 2009 -0400

    junk for now

 glib/gvariant-parser.c |   12 ++++++------
 glib/gvariant-valist.c |    3 +--
 glib/gvariant.h        |    6 ++++--
 3 files changed, 11 insertions(+), 10 deletions(-)
---
diff --git a/glib/gvariant-parser.c b/glib/gvariant-parser.c
index ebd9cf5..1d657ea 100644
--- a/glib/gvariant-parser.c
+++ b/glib/gvariant-parser.c
@@ -1769,24 +1769,24 @@ positional_parse (TokenStream *stream,
     positional_free
   };
   Positional *positional;
-  const gchar *format;
+  const gchar *endptr;
   gchar *token;
 
   token = token_stream_get (stream);
   g_assert (token[0] == '%');
 
-  format = token + 1;
-
   positional = g_slice_new (Positional);
   positional->ast.class = &positional_class;
-  positional->value = g_variant_new_va (NULL, &format, app);
+  positional->value = g_variant_new_va (NULL, token + 1, &endptr, app);
 
-  if (*format)
+  if (*endptr || positional->value == NULL)
     {
       set_error (&stream->error, stream->stream, stream->stream,
                  "invalid GVariant format string");
 
-      g_variant_unref (g_variant_ref_sink (positional->value));
+      if (positional->value != NULL)
+        g_variant_unref (g_variant_ref_sink (positional->value));
+
       g_slice_free (Positional, positional);
       g_free (token);
 
diff --git a/glib/gvariant-valist.c b/glib/gvariant-valist.c
index 641cebe..46ebbbf 100644
--- a/glib/gvariant-valist.c
+++ b/glib/gvariant-valist.c
@@ -1048,8 +1048,7 @@ g_variant_new (const gchar *format_string,
   g_assert (strchr ("*? r", format_string[0]) == NULL);
 
   va_start (ap, format_string);
-  value = g_variant_new_va (NULL, &format_string, &ap);
-  g_assert (*format_string == '\0');
+  value = g_variant_new_va (NULL, format_string, NULL, &ap);
   va_end (ap);
 
   return value;
diff --git a/glib/gvariant.h b/glib/gvariant.h
index 71d5b9e..e4129bb 100644
--- a/glib/gvariant.h
+++ b/glib/gvariant.h
@@ -52,11 +52,13 @@ gboolean                        g_variant_format_string_scan            (const g
                                                                          const gchar          *end,
                                                                          const gchar         **endptr);
 GVariant                       *g_variant_new_va                        (gpointer              must_be_null,
-                                                                         const gchar         **format_string,
+                                                                         const gchar          *format_string,
+                                                                         const gchar         **endptr,
                                                                          va_list              *app);
 void                            g_variant_get_va                        (GVariant             *value,
                                                                          gpointer              must_be_null,
-                                                                         const gchar         **format_string,
+                                                                         const gchar          *format_string,
+                                                                         const gchar         **endptr,
                                                                          va_list              *app);
 
 /* constructors */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]