summaryrefslogtreecommitdiffstats
path: root/polyp
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2006-01-20 10:16:37 +0000
committerPierre Ossman <ossman@cendio.se>2006-01-20 10:16:37 +0000
commit30bb5ceaeea2c612c10245780cf1de80122ac06b (patch)
tree7224c2067225e642a2b8aa5a98c625007d7d30e9 /polyp
parent60dbf8b82d694bba5a4ebbe651e504cb12df927b (diff)
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
Diffstat (limited to 'polyp')
-rw-r--r--polyp/socket-util.c8
1 files changed, 8 insertions, 0 deletions
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)) {