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());
 		}
 	}