[gnome-terminal] Fix build with latest glib



commit 27a489b5df201c33b17c1566baa93c7d820b9498
Author: Christian Persch <chpe gnome org>
Date:   Wed Jul 7 23:35:14 2010 +0200

    Fix build with latest glib

 configure.ac   |    2 +-
 src/terminal.c |   25 +++++++++++--------------
 2 files changed, 12 insertions(+), 15 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index e4436cf..24673e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,7 +40,7 @@ GNOME_COMPILE_WARNINGS([maximum])
 AM_GLIB_GNU_GETTEXT
 
 GLIB_REQUIRED=2.25.0
-GIO_REQUIRED=2.25.9
+GIO_REQUIRED=2.25.11
 GTK_REQUIRED=2.14.0
 GCONF_REQUIRED=2.31.3
 VTE_REQUIRED=0.25.1
diff --git a/src/terminal.c b/src/terminal.c
index 5c9b7b9..a4a40ec 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -57,20 +57,18 @@ ay_to_string (GVariant *variant,
   const char *string;
   gsize len;
 
-  string = g_variant_get_byte_array (variant, &len);
-  if (len == 0)
-    return NULL;
-
-  /* Validate that the string is nul-terminated and full-length */
-  if (string[len - 1] != '\0') {
+  len = g_variant_get_size (variant);
+  if (len == 0) {
     g_set_error_literal (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS,
-                         "String not nul-terminated!");
+                         "NUL strings not allowed");
     return NULL;
   }
+
+  string = g_variant_get_bytestring (variant);
   if (strlen (string) != (len - 1)) {
     g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS,
                          "String is shorter than claimed (claimed %" G_GSIZE_FORMAT " actual %" G_GSIZE_FORMAT ")",
-                         len, strlen (string));
+                         len - 1, strlen (string));
     return NULL;
   }
 
@@ -340,21 +338,20 @@ name_lost_cb (GDBusConnection *connection,
 
   g_variant_builder_open (&builder, G_VARIANT_TYPE ("aay"));
   for (i = 0; i < data->argc; ++i)
-    g_variant_builder_add (&builder, "@ay",
-                           g_variant_new_byte_array (data->argv[i], -1));
+    g_variant_builder_add (&builder, "^ay", data->argv[i]);
   g_variant_builder_close (&builder); /* aay */
 
   g_variant_builder_open (&builder, G_VARIANT_TYPE ("a{sv}"));
 
   g_variant_builder_add (&builder, "{sv}",
                          "startup-notication-id",
-                         g_variant_new_byte_array (data->options->startup_id ? data->options->startup_id : "", -1));
+                         g_variant_new_bytestring (data->options->startup_id ? data->options->startup_id : ""));
   g_variant_builder_add (&builder, "{sv}",
                          "display-name",
-                         g_variant_new_byte_array (data->options->display_name ? data->options->display_name : "", -1));
+                         g_variant_new_bytestring (data->options->display_name ? data->options->display_name : ""));
   g_variant_builder_add (&builder, "{sv}",
                          "cwd",
-                         g_variant_new_byte_array (data->options->default_working_dir ? data->options->default_working_dir : "", -1));
+                         g_variant_new_bytestring (data->options->default_working_dir ? data->options->default_working_dir : ""));
 
   g_variant_builder_open (&builder, G_VARIANT_TYPE ("{sv}"));
   g_variant_builder_add (&builder, "s", "environment");
@@ -372,7 +369,7 @@ name_lost_cb (GDBusConnection *connection,
         continue;
 
       str = g_strdup_printf ("%s=%s", envv[i], value);
-      g_variant_builder_add (&builder, "@ay", g_variant_new_byte_array (str, -1));
+      g_variant_builder_add (&builder, "^ay", str);
       g_free (str);
     }
   g_variant_builder_close (&builder); /* aay */



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