Commit 6e0b7ffe authored by Saar Gross's avatar Saar Gross Committed by Facebook GitHub Bot

Minor fixes for supporting a build of network_address over XROS

Summary:
1. sockaddr, sockaddr_in and sockaddr_in6 are all the same at XROS, so we should have only one version of setFromSockaddr() when running over XROS
2. Since AF_UNIX is not really a supported address family on XROS, add a cast to (int) when checking the family. This will suppress a compilation warning

Reviewed By: yfeldblum

Differential Revision: D31057427

fbshipit-source-id: ef5af0aed6800c9beadfbb217795416afab9e08c
parent 3d889cfc
......@@ -217,7 +217,7 @@ const char* SocketAddress::getFamilyNameFrom(
case Family: \
return #Family
switch (address->sa_family) {
switch ((int)address->sa_family) {
GETFAMILYNAMEFROM_IMPL(AF_INET);
GETFAMILYNAMEFROM_IMPL(AF_INET6);
GETFAMILYNAMEFROM_IMPL(AF_UNIX);
......@@ -322,6 +322,7 @@ void SocketAddress::setFromSockaddr(
}
}
#ifndef __XROS__
void SocketAddress::setFromSockaddr(const struct sockaddr_in* address) {
assert(address->sin_family == AF_INET);
setFromSockaddr((sockaddr*)address);
......@@ -331,6 +332,7 @@ void SocketAddress::setFromSockaddr(const struct sockaddr_in6* address) {
assert(address->sin6_family == AF_INET6);
setFromSockaddr((sockaddr*)address);
}
#endif
void SocketAddress::setFromSockaddr(
const struct sockaddr_un* address, socklen_t addrlen) {
......@@ -589,7 +591,7 @@ size_t SocketAddress::hash() const {
}
}
switch (getFamily()) {
switch ((int)getFamily()) {
case AF_INET:
case AF_INET6: {
boost::hash_combine(seed, port_);
......
......@@ -356,6 +356,7 @@ class SocketAddress {
*/
void setFromSockaddr(const struct sockaddr* address, socklen_t addrlen);
#ifndef __XROS__
/**
* Initialize this SocketAddress from a struct sockaddr_in.
*/
......@@ -365,6 +366,7 @@ class SocketAddress {
* Initialize this SocketAddress from a struct sockaddr_in6.
*/
void setFromSockaddr(const struct sockaddr_in6* address);
#endif
/**
* Initialize this SocketAddress from a struct sockaddr_un.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment