[telepathy-salut/master] gibber-listener: create a GibberUnixTransport if the socket is a UNIX one
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Mon May 11 09:28:31 PDT 2009
---
lib/gibber/gibber-listener.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/gibber/gibber-listener.c b/lib/gibber/gibber-listener.c
index dedc2b6..6b15446 100644
--- a/lib/gibber/gibber-listener.c
+++ b/lib/gibber/gibber-listener.c
@@ -33,6 +33,7 @@
#include "gibber-listener.h"
#include "gibber-fd-transport.h"
+#include "gibber-unix-transport.h"
#include "gibber-util.h"
#define DEBUG_FLAG DEBUG_NET
@@ -186,11 +187,10 @@ listener_io_in_cb (GIOChannel *source,
nfd = accept (fd, (struct sockaddr *) &addr, &addrlen);
gibber_normalize_address (&addr);
- transport = g_object_new (GIBBER_TYPE_FD_TRANSPORT, NULL);
- gibber_fd_transport_set_fd (transport, nfd);
-
if (addr.ss_family == AF_UNIX)
{
+ transport = GIBBER_FD_TRANSPORT (gibber_unix_transport_new_from_fd (nfd));
+
/* UNIX sockets doesn't have port */
ret = getnameinfo ((struct sockaddr *) &addr, addrlen,
host, NI_MAXHOST, NULL, 0,
@@ -200,6 +200,9 @@ listener_io_in_cb (GIOChannel *source,
}
else
{
+ 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);
--
1.5.6.5
More information about the telepathy-commits
mailing list