summaryrefslogtreecommitdiff
path: root/ace/INET_Addr.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ace/INET_Addr.inl')
-rw-r--r--ace/INET_Addr.inl19
1 files changed, 16 insertions, 3 deletions
diff --git a/ace/INET_Addr.inl b/ace/INET_Addr.inl
index 63c8f480c4b..3fa5c778e5a 100644
--- a/ace/INET_Addr.inl
+++ b/ace/INET_Addr.inl
@@ -7,16 +7,27 @@
#include "ace/Global_Macros.h"
#include "ace/OS_NS_arpa_inet.h"
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
ACE_INLINE void
ACE_INET_Addr::reset (void)
{
ACE_OS::memset (&this->inet_addr_, 0, sizeof (this->inet_addr_));
if (this->get_type() == AF_INET)
- this->inet_addr_.in4_.sin_family = AF_INET;
+ {
+#ifdef ACE_HAS_SOCKADDR_IN_SIN_LEN
+ this->inet_addr_.in4_.sin_len = sizeof (this->inet_addr_.in4_);
+#endif
+ this->inet_addr_.in4_.sin_family = AF_INET;
+ }
#if defined (ACE_HAS_IPV6)
else if (this->get_type() == AF_INET6)
- this->inet_addr_.in6_.sin6_family = AF_INET6;
+ {
+#ifdef ACE_HAS_SOCKADDR_IN6_SIN6_LEN
+ this->inet_addr_.in6_.sin6_len = sizeof (this->inet_addr_.in6_);
+#endif
+ this->inet_addr_.in6_.sin6_family = AF_INET6;
+ }
#endif /* ACE_HAS_IPV6 */
}
@@ -29,8 +40,9 @@ ACE_INET_Addr::determine_type (void) const
# else
return AF_INET6;
# endif /* ACE_USES_IPV4_IPV6_MIGRATION */
-#endif /* ACE_HAS_IPV6 */
+#else
return AF_INET;
+#endif /* ACE_HAS_IPV6 */
}
ACE_INLINE void *
@@ -202,3 +214,4 @@ ACE_INET_Addr::is_ipv4_compat_ipv6 (void) const
}
#endif /* ACE_HAS_IPV6 */
+ACE_END_VERSIONED_NAMESPACE_DECL