summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Network.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2012-12-26 11:25:19 -0500
committerBernard Normier <bernard@zeroc.com>2012-12-26 11:25:19 -0500
commit75911e425d3cba4c0254e7dd2636c115a7a91053 (patch)
treea7cc1d638bc3cca65866785eef6217a4f77420ce /cpp/src/Ice/Network.h
parentmingw builds now use the same COMPSUFFIX format as VC++ builds. (diff)
downloadice-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/Ice/Network.h')
-rw-r--r--cpp/src/Ice/Network.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/cpp/src/Ice/Network.h b/cpp/src/Ice/Network.h
index 6103f98f109..52259f33630 100644
--- a/cpp/src/Ice/Network.h
+++ b/cpp/src/Ice/Network.h
@@ -107,7 +107,7 @@ namespace IceInternal
{
//
-// Use Address typedef/struct depending on the platform
+// Use Address struct or union depending on the platform
//
#ifdef ICE_OS_WINRT
struct ICE_API Address
@@ -116,7 +116,13 @@ struct ICE_API Address
Platform::String^ port;
};
#else
-typedef struct sockaddr_storage Address;
+union Address
+{
+ sockaddr sa;
+ sockaddr_in saIn;
+ sockaddr_in6 saIn6;
+ sockaddr_storage saStorage;
+};
#endif
enum SocketOperation