From 3342fa76025d1303657f948234e0a28c98398607 Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Wed, 24 Nov 2010 14:09:05 +0000 Subject: [PATCH] Make SetToWildcard() actually set address to wildcard one. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39606 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/network/libnetapi/NetworkAddress.cpp | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/kits/network/libnetapi/NetworkAddress.cpp b/src/kits/network/libnetapi/NetworkAddress.cpp index 887003964c..8f8db68e9c 100644 --- a/src/kits/network/libnetapi/NetworkAddress.cpp +++ b/src/kits/network/libnetapi/NetworkAddress.cpp @@ -385,7 +385,26 @@ BNetworkAddress::SetToMask(int family, uint32 prefixLength) status_t BNetworkAddress::SetToWildcard(int family, uint16 port) { - return SetTo(family, NULL, port); + switch (family) { + case AF_INET: + memset(&fAddress, 0, sizeof(sockaddr_storage)); + fAddress.ss_len = sizeof(sockaddr_in); + SetAddress(INADDR_ANY); + break; + + case AF_INET6: + memset(&fAddress, 0, sizeof(sockaddr_storage)); + fAddress.ss_len = sizeof(sockaddr_in6); + SetAddress(in6addr_any); + break; + + default: + return B_NOT_SUPPORTED; + } + + fAddress.ss_family = family; + SetPort(port); + return fStatus = B_OK; }