[Telepathy-commits] [telepathy-salut/master] listener_io_in_cb: don't query for the port if we are using a UNIX socket

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon Dec 1 05:23:58 PST 2008


---
 lib/gibber/gibber-listener.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/lib/gibber/gibber-listener.c b/lib/gibber/gibber-listener.c
index d0f4cbb..62fa541 100644
--- a/lib/gibber/gibber-listener.c
+++ b/lib/gibber/gibber-listener.c
@@ -189,9 +189,21 @@ listener_io_in_cb (GIOChannel *source,
   transport = g_object_new (GIBBER_TYPE_FD_TRANSPORT, NULL);
   gibber_fd_transport_set_fd (transport, nfd);
 
-  ret = getnameinfo ((struct sockaddr *) &addr, addrlen,
-      host, NI_MAXHOST, port, NI_MAXSERV,
-      NI_NUMERICHOST | NI_NUMERICSERV);
+  if (addr.ss_family == AF_UNIX)
+    {
+      /* UNIX sockets doesn't have port */
+      ret = getnameinfo ((struct sockaddr *) &addr, addrlen,
+          host, NI_MAXHOST, NULL, 0,
+          NI_NUMERICHOST);
+
+      port[0] = '\0';
+    }
+  else
+    {
+      ret = getnameinfo ((struct sockaddr *) &addr, addrlen,
+          host, NI_MAXHOST, port, NI_MAXSERV,
+          NI_NUMERICHOST | NI_NUMERICSERV);
+    }
 
   if (ret == 0)
     DEBUG("New connection from %s port %s", host, port);
-- 
1.5.6.5




More information about the Telepathy-commits mailing list