From 30bb5ceaeea2c612c10245780cf1de80122ac06b Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Fri, 20 Jan 2006 10:16:37 +0000 Subject: Fix so that peer name can be determined on Windows. We do not support console on Windows at this time so we do not have to worry about that right now. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@459 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/socket-util.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'polyp') diff --git a/polyp/socket-util.c b/polyp/socket-util.c index 381502b5..032a3c91 100644 --- a/polyp/socket-util.c +++ b/polyp/socket-util.c @@ -69,17 +69,22 @@ void pa_socket_peer_to_string(int fd, char *c, size_t l) { assert(c && l && fd >= 0); +#ifndef OS_IS_WIN32 if (fstat(fd, &st) < 0) { snprintf(c, l, "Invalid client fd"); return; } +#endif #ifndef OS_IS_WIN32 if (S_ISSOCK(st.st_mode)) { +#endif union { struct sockaddr sa; struct sockaddr_in in; +#ifdef HAVE_SYS_UN_H struct sockaddr_un un; +#endif } sa; socklen_t sa_len = sizeof(sa); @@ -95,12 +100,15 @@ void pa_socket_peer_to_string(int fd, char *c, size_t l) { ip & 0xFF, ntohs(sa.in.sin_port)); return; +#ifdef HAVE_SYS_UN_H } else if (sa.sa.sa_family == AF_UNIX) { snprintf(c, l, "UNIX socket client"); return; +#endif } } +#ifndef OS_IS_WIN32 snprintf(c, l, "Unknown network client"); return; } else if (S_ISCHR(st.st_mode) && (fd == 0 || fd == 1)) { -- cgit