diff options
-rw-r--r-- | src/socket.cpp | 4 | ||||
-rw-r--r-- | win/inspircd_win32wrapper.cpp | 5 | ||||
-rw-r--r-- | win/inspircd_win32wrapper.h | 3 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/socket.cpp b/src/socket.cpp index 0db7e1a6b..a4d1a7b79 100644 --- a/src/socket.cpp +++ b/src/socket.cpp @@ -97,8 +97,8 @@ int irc::sockets::OpenTCPSocket(const std::string& addr, int socktype) linger.l_onoff = 1; linger.l_linger = 1; #ifdef WINDOWS - setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on)); - setsockopt(sockfd, SOL_SOCKET, SO_LINGER, (char*)&linger, sizeof(linger)); + insp_setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); + insp_setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &linger, sizeof(linger)); #elif setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &linger, sizeof(linger)); diff --git a/win/inspircd_win32wrapper.cpp b/win/inspircd_win32wrapper.cpp index eb73378f2..d0ca50af8 100644 --- a/win/inspircd_win32wrapper.cpp +++ b/win/inspircd_win32wrapper.cpp @@ -91,6 +91,11 @@ int insp_inet_pton(int af, const char *src, void *dst) return rv; } +int insp_setsockopt(int sockfd, int level, int optname, void *optval, int optlen) +{ + return setsockopt(sockfd, level, optname, (char*)optval, optlen); +} + void setcolor(int color_code) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color_code); diff --git a/win/inspircd_win32wrapper.h b/win/inspircd_win32wrapper.h index 6b068adea..86a7baffe 100644 --- a/win/inspircd_win32wrapper.h +++ b/win/inspircd_win32wrapper.h @@ -132,6 +132,9 @@ CoreExport const char * insp_inet_ntop(int af, const void * src, char * dst, soc #define inet_pton insp_inet_pton #define inet_ntop insp_inet_ntop +/* slightly different format on setsockopt */ +CoreExport int insp_setsockopt(int sockfd, int level, int optname, void *optval, int optlen); + /* Safe printf functions aren't defined in VC2003 */ #define snprintf _snprintf #define vsnprintf _vsnprintf |