diff options
author | Pierre Ossman <ossman@cendio.se> | 2006-01-20 10:16:37 +0000 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2006-01-20 10:16:37 +0000 |
commit | 30bb5ceaeea2c612c10245780cf1de80122ac06b (patch) | |
tree | 7224c2067225e642a2b8aa5a98c625007d7d30e9 | |
parent | 60dbf8b82d694bba5a4ebbe651e504cb12df927b (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
-rw-r--r-- | polyp/socket-util.c | 8 |
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)) { |