[telepathy-gabble/master] TP_SOCKET_ADDRESS_TYPE_UNIX address is supposed to be an 'ay' not a string

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Apr 3 09:26:29 PDT 2009


---
 src/ft-channel.c                                   |   16 +++++++++++-----
 .../twisted/file-transfer/file_transfer_helper.py  |    6 ++++--
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/ft-channel.c b/src/ft-channel.c
index b52c5cc..643e270 100644
--- a/src/ft-channel.c
+++ b/src/ft-channel.c
@@ -786,7 +786,7 @@ gabble_file_transfer_channel_dispose (GObject *object)
 static void
 erase_socket (GabbleFileTransferChannel *self)
 {
-  const gchar *path;
+  GArray *array;
 
   if (self->priv->socket_type != TP_SOCKET_ADDRESS_TYPE_UNIX)
     /* only UNIX sockets have to be erased */
@@ -795,8 +795,8 @@ erase_socket (GabbleFileTransferChannel *self)
   if (self->priv->socket_address == NULL)
     return;
 
-  path = g_value_get_string (self->priv->socket_address);
-  if (g_unlink (path) != 0)
+  array = g_value_get_boxed (self->priv->socket_address);
+  if (g_unlink (array->data) != 0)
     {
       DEBUG ("unlink failed: %s", g_strerror (errno));
     }
@@ -1646,6 +1646,7 @@ setup_local_socket (GabbleFileTransferChannel *self,
   if (address_type == TP_SOCKET_ADDRESS_TYPE_UNIX)
     {
       gchar *path;
+      GArray *array;
 
       g_assert (access_control == TP_SOCKET_ACCESS_CONTROL_LOCALHOST);
 
@@ -1663,11 +1664,16 @@ setup_local_socket (GabbleFileTransferChannel *self,
           return FALSE;
         }
 
-      self->priv->socket_address = tp_g_value_slice_new (G_TYPE_STRING);
-      g_value_set_string (self->priv->socket_address, path);
+      array = g_array_sized_new (TRUE, FALSE, sizeof (gchar), strlen (path));
+      g_array_insert_vals (array, 0, path, strlen (path));
+
+      self->priv->socket_address = tp_g_value_slice_new (
+          DBUS_TYPE_G_UCHAR_ARRAY);
+      g_value_set_boxed (self->priv->socket_address, array);
 
       DEBUG ("local socket %s", path);
       g_free (path);
+      g_array_free (array, TRUE);
     }
   else if (address_type == TP_SOCKET_ADDRESS_TYPE_IPV4)
     {
diff --git a/tests/twisted/file-transfer/file_transfer_helper.py b/tests/twisted/file-transfer/file_transfer_helper.py
index d66f3aa..432f3da 100644
--- a/tests/twisted/file-transfer/file_transfer_helper.py
+++ b/tests/twisted/file-transfer/file_transfer_helper.py
@@ -203,7 +203,8 @@ class ReceiveFileTest(FileTransferTest):
 
     def accept_file(self):
         self.address = self.ft_channel.AcceptFile(self.address_type,
-                self.access_control, self.access_control_param, 0)
+                self.access_control, self.access_control_param, 0,
+                byte_arrays=True)
 
         state_event, iq_event = self.q.expect_many(
             EventPattern('dbus-signal', signal='FileTransferStateChanged'),
@@ -368,7 +369,8 @@ class SendFileTest(FileTransferTest):
 
     def provide_file(self):
         self.address = self.ft_channel.ProvideFile(self.address_type,
-                self.access_control, self.access_control_param)
+                self.access_control, self.access_control_param,
+                byte_arrays=True)
 
     def client_accept_file(self):
         # accept SI offer
-- 
1.5.6.5




More information about the telepathy-commits mailing list