Mercurial > code
changeset 439:aaf975293996
Socket: various fixes for Windows
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 23 Oct 2015 08:15:48 +0200 |
parents | 5f837e40b569 |
children | 738751252248 |
files | C++/modules/Socket/Sockets.h |
diffstat | 1 files changed, 51 insertions(+), 51 deletions(-) [+] |
line wrap: on
line diff
--- a/C++/modules/Socket/Sockets.h Thu Oct 22 21:43:41 2015 +0200 +++ b/C++/modules/Socket/Sockets.h Fri Oct 23 08:15:48 2015 +0200 @@ -144,6 +144,53 @@ namespace net { /* + * Portables types + * ------------------------------------------------------------------ + * + * The following types are defined differently between Unix and Windows. + */ + +/* {{{ Types */ + +#if defined(_WIN32) + +/** + * Socket type, SOCKET. + */ +using Handle = SOCKET; + +/** + * Argument to pass to set. + */ +using ConstArg = const char *; + +/** + * Argument to pass to get. + */ +using Arg = char *; + +#else + +/** + * Socket type, int. + */ +using Handle = int; + +/** + * Argument to pass to set. + */ +using ConstArg = const void *; + +/** + * Argument to pass to get. + */ +using Arg = void *; + +#endif + +/* }}} */ + +/* * Portable constants * ------------------------------------------------------------------ * @@ -245,53 +292,6 @@ /* }}} */ /* - * Portables types - * ------------------------------------------------------------------ - * - * The following types are defined differently between Unix and Windows. - */ - -/* {{{ Types */ - -#if defined(_WIN32) - -/** - * Socket type, SOCKET. - */ -using Handle = SOCKET; - -/** - * Argument to pass to set. - */ -using ConstArg = const char *; - -/** - * Argument to pass to get. - */ -using Arg = char *; - -#else - -/** - * Socket type, int. - */ -using Handle = int; - -/** - * Argument to pass to set. - */ -using ConstArg = const void *; - -/** - * Argument to pass to get. - */ -using Arg = void *; - -#endif - -/* }}} */ - -/* * Error class * ------------------------------------------------------------------ * @@ -490,7 +490,7 @@ inline void set(int level, int name, const Argument &arg) { #if defined(_WIN32) - if (setsockopt(m_handle, level, name, (ConstArg)&arg, sizeof (arg)) == Error) + if (setsockopt(m_handle, level, name, (ConstArg)&arg, sizeof (arg)) == Failure) #else if (setsockopt(m_handle, level, name, (ConstArg)&arg, sizeof (arg)) < 0) #endif @@ -511,7 +511,7 @@ socklen_t size = sizeof (result); #if defined(_WIN32) - if (getsockopt(m_handle, level, name, (Arg)&desired, &size) == Error) + if (getsockopt(m_handle, level, name, (Arg)&desired, &size) == Failure) #else if (getsockopt(m_handle, level, name, (Arg)&desired, &size) < 0) #endif @@ -1212,8 +1212,8 @@ } throw Error{Error::System, "connect"}; +#endif } -#endif } public: @@ -2142,7 +2142,7 @@ inline void clear() { while (!m_table.empty()) { - remove(m_table.begin()->second.first); + remove(*m_table.begin()); } }