summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben%bengoodger.com <devnull@localhost>2004-01-12 23:31:09 +0000
committerben%bengoodger.com <devnull@localhost>2004-01-12 23:31:09 +0000
commita7074e4c6b3a49d9b4caa2217190b2897e950980 (patch)
tree845fd6a4078f24aaaf2bc3e21e72e22e90f4c8d4
parent37d52af8f6545bebeb15c16eea079c3340d8c068 (diff)
downloadnspr-hg-FIREBIRD_0_8_BRANCH.tar.gz
-rw-r--r--pr/src/md/beos/bnet.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/pr/src/md/beos/bnet.c b/pr/src/md/beos/bnet.c
index 2aa0194f..c4e2beae 100644
--- a/pr/src/md/beos/bnet.c
+++ b/pr/src/md/beos/bnet.c
@@ -744,6 +744,15 @@ _MD_getpeername (PRFileDesc *fd, PRNetAddr *addr, PRUint32 *addrlen)
rv = getpeername(fd->secret->md.osfd,
(struct sockaddr *) addr, (_PRSockLen_t *)addrlen);
+#ifdef _PR_HAVE_SOCKADDR_LEN
+ if (rv == 0) {
+ /* ignore the sa_len field of struct sockaddr */
+ if (addr) {
+ addr->raw.family = ((struct sockaddr *) addr)->sa_family;
+ }
+ }
+#endif /* _PR_HAVE_SOCKADDR_LEN */
+
if (rv < 0) {
err = _MD_ERRNO();
_PR_MD_MAP_GETPEERNAME_ERROR(err);