diff options
author | Bernard Normier <bernard@zeroc.com> | 2012-12-26 11:25:19 -0500 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2012-12-26 11:25:19 -0500 |
commit | 75911e425d3cba4c0254e7dd2636c115a7a91053 (patch) | |
tree | a7cc1d638bc3cca65866785eef6217a4f77420ce /cpp/src/IceSSL/AcceptorI.cpp | |
parent | mingw builds now use the same COMPSUFFIX format as VC++ builds. (diff) | |
download | ice-75911e425d3cba4c0254e7dd2636c115a7a91053.tar.bz2 ice-75911e425d3cba4c0254e7dd2636c115a7a91053.tar.xz ice-75911e425d3cba4c0254e7dd2636c115a7a91053.zip |
Fixed ICE-5079: Replaced IceInternal::Address by a union to avoid reinterpret_cast and warnings
Diffstat (limited to 'cpp/src/IceSSL/AcceptorI.cpp')
-rw-r--r-- | cpp/src/IceSSL/AcceptorI.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/cpp/src/IceSSL/AcceptorI.cpp b/cpp/src/IceSSL/AcceptorI.cpp index 387f25375cf..8b80fb0d640 100644 --- a/cpp/src/IceSSL/AcceptorI.cpp +++ b/cpp/src/IceSSL/AcceptorI.cpp @@ -16,7 +16,6 @@ #include <Ice/Exception.h> #include <Ice/LocalException.h> #include <Ice/LoggerUtil.h> -#include <Ice/Network.h> #include <Ice/Properties.h> #include <IceUtil/StringUtil.h> @@ -194,13 +193,13 @@ IceSSL::AcceptorI::toString() const int IceSSL::AcceptorI::effectivePort() const { - if(_addr.ss_family == AF_INET) + if(_addr.saStorage.ss_family == AF_INET) { - return ntohs(reinterpret_cast<const sockaddr_in*>(&_addr)->sin_port); + return ntohs(_addr.saIn.sin_port); } else { - return ntohs(reinterpret_cast<const sockaddr_in6*>(&_addr)->sin6_port); + return ntohs(_addr.saIn6.sin6_port); } } @@ -246,7 +245,7 @@ IceSSL::AcceptorI::AcceptorI(const InstancePtr& instance, const string& adapterN Trace out(_logger, _instance->networkTraceCategory()); out << "attempting to bind to ssl socket " << toString(); } - const_cast<struct sockaddr_storage&>(_addr) = IceInternal::doBind(_fd, _addr); + const_cast<IceInternal::Address&>(_addr) = IceInternal::doBind(_fd, _addr); } IceSSL::AcceptorI::~AcceptorI() |