diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-04-07 18:29:38 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-04-07 18:29:38 +0200 |
commit | f6876a31c934d2ed09a3a69adeb62075ac136f99 (patch) | |
tree | ff90bd45a4573ffc6bb9ff8dcc8b3680a1d38230 /cpp/src/Ice/Network.cpp | |
parent | CHANGES file used to refer to CHANGES.txt. (diff) | |
download | ice-f6876a31c934d2ed09a3a69adeb62075ac136f99.tar.bz2 ice-f6876a31c934d2ed09a3a69adeb62075ac136f99.tar.xz ice-f6876a31c934d2ed09a3a69adeb62075ac136f99.zip |
Fixed bug 2950
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r-- | cpp/src/Ice/Network.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index a0daca02526..705f32d301d 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -1717,6 +1717,19 @@ IceInternal::addrToString(const struct sockaddr_storage& addr) return s.str(); } +bool +IceInternal::isMulticast(const struct sockaddr_storage& addr) +{ + if(addr.ss_family == AF_INET) + { + return IN_MULTICAST(ntohl(reinterpret_cast<const struct sockaddr_in*>(&addr)->sin_addr.s_addr)); + } + else + { + return IN6_IS_ADDR_MULTICAST(&reinterpret_cast<const struct sockaddr_in6*>(&addr)->sin6_addr); + } +} + int IceInternal::getPort(const struct sockaddr_storage& addr) { |