diff options
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r-- | cpp/src/Ice/Network.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index 70940b2e7c3..5e6f5bfba0a 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -1306,19 +1306,11 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol { struct sockaddr_in* addrin = reinterpret_cast<sockaddr_in*>(&addr); addrin->sin_port = htons(port); - if(addrin->sin_addr.s_addr == 0) - { - continue; - } } else if(p->ai_family == PF_INET6) { struct sockaddr_in6* addrin6 = reinterpret_cast<sockaddr_in6*>(&addr); addrin6->sin6_port = htons(port); - if(IN6_IS_ADDR_UNSPECIFIED(&addrin6->sin6_addr)) - { - continue; - } } bool found = false; @@ -1337,6 +1329,14 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol } freeaddrinfo(info); + + if(result.size() == 0) + { + DNSException ex(__FILE__, __LINE__); + ex.host = host; + throw ex; + } + return result; } |