diff options
author | Huang-Ming Huang <huangming.huang@gmail.com> | 2017-04-01 12:37:51 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-01 12:37:51 -0500 |
commit | 21017ce12a93b2f0cb6059217e18bbf25e2abf35 (patch) | |
tree | a08c2def4c57e0e4256821057667d0b0f5af50c5 | |
parent | 6264b243c8f9d601efd99e1b61ba7a996431d650 (diff) | |
parent | d0f1eadba9ae7c6b2f789eab7eb7543e94652670 (diff) | |
download | ATCD-21017ce12a93b2f0cb6059217e18bbf25e2abf35.tar.gz |
Merge pull request #387 from huangminghuang/master
Another attempt to fix PR #382 #385
-rw-r--r-- | ACE/ace/INET_Addr.cpp | 3 | ||||
-rw-r--r-- | ACE/tests/INET_Addr_Test.cpp | 19 |
2 files changed, 14 insertions, 8 deletions
diff --git a/ACE/ace/INET_Addr.cpp b/ACE/ace/INET_Addr.cpp index 5d63d19880f..811ee79afc6 100644 --- a/ACE/ace/INET_Addr.cpp +++ b/ACE/ace/INET_Addr.cpp @@ -371,6 +371,9 @@ ACE_INET_Addr::set (u_short port_number, #endif /* ACE_HAS_IPV6 && ACE_USES_IPV4_IPV6_MIGRATION */ #ifdef ACE_HAS_IPV6 + if (address_family == AF_UNSPEC && ACE::ipv6_enabled ()) + address_family = AF_INET6; + if (address_family != AF_INET && ACE_OS::inet_pton (AF_INET6, host_name, &this->inet_addr_.in6_.sin6_addr) == 1) diff --git a/ACE/tests/INET_Addr_Test.cpp b/ACE/tests/INET_Addr_Test.cpp index 816c2eb2b7d..6b389470032 100644 --- a/ACE/tests/INET_Addr_Test.cpp +++ b/ACE/tests/INET_Addr_Test.cpp @@ -390,14 +390,17 @@ int run_main (int, ACE_TCHAR *[]) { ACE_INET_Addr addr; int old_type = addr.get_type(); - addr.set(12345, ACE_TEXT ("localhost")); - if (addr.get_type() != old_type) { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("IPv6 set failed: before addr.set(12345), addr.type() = %d\n") - ACE_TEXT (" after addr.set(12345), addr.type() = %d\n"), - old_type, - addr.get_type ())); - status = 1; + if (addr.set(12345, ACE_TEXT ("localhost")) == 0) { + if (addr.get_type() != old_type) { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("IPv6 set failed: addr.set(12345, \"localhost\"), old addr.type() = %d, new addr_type()= %d\n"), + old_type, + addr.get_type ())); + status = 1; + } + } + else { + ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("IPv6 set failed: addr.set(12345, \"localhost\") returns nonzero\n"))); } } |