diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2014-08-21 11:16:15 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2014-08-21 11:16:15 -0230 |
commit | 02c969e9d14684bd3aa881682aa42ff597867caf (patch) | |
tree | bd16fc92df65d98d16584f08be9d2ff3dc632b5f /cpp | |
parent | ICE-5646 check return value of backtrace_symbols before processing (diff) | |
download | ice-02c969e9d14684bd3aa881682aa42ff597867caf.tar.bz2 ice-02c969e9d14684bd3aa881682aa42ff597867caf.tar.xz ice-02c969e9d14684bd3aa881682aa42ff597867caf.zip |
ICE-5638 add default constructor for Address union
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/Ice/DefaultsAndOverrides.cpp | 4 | ||||
-rw-r--r-- | cpp/src/Ice/IPEndpointI.cpp | 4 | ||||
-rw-r--r-- | cpp/src/Ice/Network.cpp | 19 | ||||
-rw-r--r-- | cpp/src/Ice/Network.h | 7 | ||||
-rw-r--r-- | cpp/src/Ice/TcpTransceiver.cpp | 2 | ||||
-rw-r--r-- | cpp/src/Ice/UdpTransceiver.cpp | 4 | ||||
-rw-r--r-- | cpp/src/Ice/winrt/StreamEndpointI.cpp | 4 | ||||
-rw-r--r-- | cpp/src/IceSSL/OpenSSLTransceiverI.cpp | 2 | ||||
-rw-r--r-- | cpp/src/IceSSL/SecureTransportTransceiverI.cpp | 2 |
9 files changed, 20 insertions, 28 deletions
diff --git a/cpp/src/Ice/DefaultsAndOverrides.cpp b/cpp/src/Ice/DefaultsAndOverrides.cpp index 42757693deb..40b07e13c72 100644 --- a/cpp/src/Ice/DefaultsAndOverrides.cpp +++ b/cpp/src/Ice/DefaultsAndOverrides.cpp @@ -38,7 +38,7 @@ IceInternal::DefaultsAndOverrides::DefaultsAndOverrides(const PropertiesPtr& pro string value; #ifdef ICE_OS_WINRT - const_cast<Address&>(defaultSourceAddress) = getInvalidAddress(); + const_cast<Address&>(defaultSourceAddress) = Address(); #else value = properties->getProperty("Ice.Default.SourceAddress"); if(!value.empty()) @@ -53,7 +53,7 @@ IceInternal::DefaultsAndOverrides::DefaultsAndOverrides(const PropertiesPtr& pro } else { - const_cast<Address&>(defaultSourceAddress) = getInvalidAddress(); + const_cast<Address&>(defaultSourceAddress) = Address(); } #endif diff --git a/cpp/src/Ice/IPEndpointI.cpp b/cpp/src/Ice/IPEndpointI.cpp index 832b5403573..f6263183e52 100644 --- a/cpp/src/Ice/IPEndpointI.cpp +++ b/cpp/src/Ice/IPEndpointI.cpp @@ -482,7 +482,7 @@ IceInternal::IPEndpointI::IPEndpointI(const ProtocolInstancePtr& instance, const IceInternal::IPEndpointI::IPEndpointI(const ProtocolInstancePtr& instance) : _instance(instance), _port(0), - _sourceAddr(getInvalidAddress()), + _sourceAddr(Address()), _hashInitialized(false) { } @@ -490,7 +490,7 @@ IceInternal::IPEndpointI::IPEndpointI(const ProtocolInstancePtr& instance) : IceInternal::IPEndpointI::IPEndpointI(const ProtocolInstancePtr& instance, BasicStream* s) : _instance(instance), _port(0), - _sourceAddr(getInvalidAddress()), + _sourceAddr(Address()), _hashInitialized(false) { s->read(const_cast<string&>(_host), false); diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index 06e664c8a95..3fb73573abc 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -1524,19 +1524,6 @@ IceInternal::isAddressValid(const Address& addr) #endif } -Address -IceInternal::getInvalidAddress() -{ -#ifndef ICE_OS_WINRT - Address addr; - memset(&addr.saStorage, 0, sizeof(sockaddr_storage)); - addr.saStorage.ss_family = AF_UNSPEC; - return addr; -#else - return Address(); -#endif -} - #ifdef ICE_OS_WINRT vector<string> IceInternal::getHostsForEndpointExpand(const string&, ProtocolSupport, bool) @@ -2104,7 +2091,7 @@ IceInternal::getNumericAddress(const std::string& address) vector<Address> addrs = getAddresses(address, 0, EnableBoth, Ice::Ordered, false, false); if(addrs.empty()) { - return getInvalidAddress(); + return Address(); } else { @@ -2483,10 +2470,10 @@ IceInternal::createPipe(SOCKET fds[2]) { setBlock(fds[0], true); # ifndef NDEBUG - bool connected = doConnect(fds[0], addr, getInvalidAddress()); + bool connected = doConnect(fds[0], addr, Address()); assert(connected); # else - doConnect(fds[0], addr, getInvalidAddress()); + doConnect(fds[0], addr, Address()); # endif } catch(...) diff --git a/cpp/src/Ice/Network.h b/cpp/src/Ice/Network.h index a9dd19ded04..c0130e6d96f 100644 --- a/cpp/src/Ice/Network.h +++ b/cpp/src/Ice/Network.h @@ -121,6 +121,12 @@ struct ICE_API Address #else union Address { + Address() + { + memset(&saStorage, 0, sizeof(sockaddr_storage)); + saStorage.ss_family = AF_UNSPEC; + } + sockaddr sa; sockaddr_in saIn; sockaddr_in6 saIn6; @@ -288,7 +294,6 @@ ICE_API void fdToAddressAndPort(SOCKET, std::string&, int&, std::string&, int&); ICE_API void addrToAddressAndPort(const Address&, std::string&, int&); ICE_API std::string addressesToString(const Address&, const Address&, bool); ICE_API bool isAddressValid(const Address&); -ICE_API Address getInvalidAddress(); ICE_API std::vector<std::string> getHostsForEndpointExpand(const std::string&, ProtocolSupport, bool); diff --git a/cpp/src/Ice/TcpTransceiver.cpp b/cpp/src/Ice/TcpTransceiver.cpp index 4c8be1b2f28..0c348426601 100644 --- a/cpp/src/Ice/TcpTransceiver.cpp +++ b/cpp/src/Ice/TcpTransceiver.cpp @@ -576,7 +576,7 @@ IceInternal::TcpTransceiver::TcpTransceiver(const ProtocolInstancePtr& instance, NativeInfo(fd), _instance(instance), _addr(Address()), - _sourceAddr(getInvalidAddress()), + _sourceAddr(Address()), _state(StateConnected), _desc(fdToString(_fd)) #ifdef ICE_USE_IOCP diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp index 18ea62ffe47..932c04282ee 100644 --- a/cpp/src/Ice/UdpTransceiver.cpp +++ b/cpp/src/Ice/UdpTransceiver.cpp @@ -327,10 +327,10 @@ repeat: assert(_incoming); // Client connections should always be connected at this point. # ifndef NDEBUG - bool connected = doConnect(_fd, _peerAddr, getInvalidAddress()); + bool connected = doConnect(_fd, _peerAddr, Address()); assert(connected); # else - doConnect(_fd, _peerAddr, getInvalidAddress()); + doConnect(_fd, _peerAddr, Address()); # endif _state = StateConnected; diff --git a/cpp/src/Ice/winrt/StreamEndpointI.cpp b/cpp/src/Ice/winrt/StreamEndpointI.cpp index 5bb59dea33b..961f8859604 100644 --- a/cpp/src/Ice/winrt/StreamEndpointI.cpp +++ b/cpp/src/Ice/winrt/StreamEndpointI.cpp @@ -64,7 +64,7 @@ private: IceInternal::StreamEndpointI::StreamEndpointI(const ProtocolInstancePtr& instance, const string& ho, Int po, Int ti, const string& conId, bool co) : - IPEndpointI(instance, ho, po, getInvalidAddress(), conId), + IPEndpointI(instance, ho, po, Address(), conId), _timeout(ti), _compress(co) { @@ -327,7 +327,7 @@ IceInternal::StreamEndpointI::checkOption(const string& option, const string& ar ex.str = "no argument provided for -t option in endpoint " + endpoint; throw ex; } - + if(argument == "infinite") { const_cast<Int&>(_timeout) = -1; diff --git a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp index 39ae9e822e4..dce347359b8 100644 --- a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +++ b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp @@ -760,7 +760,7 @@ IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, SOCKET fd, const _instance(instance), _engine(OpenSSLEnginePtr::dynamicCast(instance->engine())), _addr(IceInternal::Address()), - _sourceAddr(IceInternal::getInvalidAddress()), + _sourceAddr(IceInternal::Address()), _adapterName(adapterName), _incoming(true), _ssl(0), diff --git a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp index b43218cc8f2..89ced9a5057 100644 --- a/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +++ b/cpp/src/IceSSL/SecureTransportTransceiverI.cpp @@ -694,7 +694,7 @@ IceSSL::TransceiverI::TransceiverI(const InstancePtr& instance, SOCKET fd, const _instance(instance), _engine(SecureTransportEnginePtr::dynamicCast(instance->engine())), _addr(IceInternal::Address()), - _sourceAddr(IceInternal::getInvalidAddress()), + _sourceAddr(IceInternal::Address()), _adapterName(adapterName), _incoming(true), _ssl(0), |