about summary refs log tree commit diff
path: root/src/base
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-12-04 17:09:30 +0100
committeroy <Tom_Adams@web.de>2011-12-04 17:09:30 +0100
commitc057f96540cc28289b3e511804344f9d5865ff51 (patch)
treee6470cb862a36d60b4b08f4932f488ad0d3fd91f /src/base
parent8e0ce38e299da43e4a9f55e45b3dcd1fbe462781 (diff)
downloadzcatch-c057f96540cc28289b3e511804344f9d5865ff51.tar.gz
zcatch-c057f96540cc28289b3e511804344f9d5865ff51.zip
fixed error message for socket creation on windows
Diffstat (limited to 'src/base')
-rw-r--r--src/base/system.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/base/system.c b/src/base/system.c
index 6dc8cc7d..a44e29d7 100644
--- a/src/base/system.c
+++ b/src/base/system.c
@@ -7,9 +7,7 @@
 #include <ctype.h>
 #include <time.h>
 
-/*#include "detect.h"*/
 #include "system.h"
-/*#include "e_console.h"*/
 
 #if defined(CONF_FAMILY_UNIX)
 	#include <sys/time.h>
@@ -828,7 +826,15 @@ static int priv_net_create_socket(int domain, int type, struct sockaddr *addr, i
 	sock = socket(domain, type, 0);
 	if(sock < 0)
 	{
+#if defined(CONF_FAMILY_WINDOWS)
+		char buf[128];
+		int error = WSAGetLastError();
+		if(FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, 0, buf, sizeof(buf), 0) == 0)
+			buf[0] = 0;
+		dbg_msg("net", "failed to create socket with domain %d and type %d (%d '%s')", domain, type, error, buf);
+#else
 		dbg_msg("net", "failed to create socket with domain %d and type %d (%d '%s')", domain, type, errno, strerror(errno));
+#endif
 		return -1;
 	}
 
@@ -845,7 +851,15 @@ static int priv_net_create_socket(int domain, int type, struct sockaddr *addr, i
 	e = bind(sock, addr, sockaddrlen);
 	if(e != 0)
 	{
+#if defined(CONF_FAMILY_WINDOWS)
+		char buf[128];
+		int error = WSAGetLastError();
+		if(FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, 0, buf, sizeof(buf), 0) == 0)
+			buf[0] = 0;
+		dbg_msg("net", "failed to create socket with domain %d and type %d (%d '%s')", domain, type, error, buf);
+#else
 		dbg_msg("net", "failed to bind socket with domain %d and type %d (%d '%s')", domain, type, errno, strerror(errno));
+#endif
 		priv_net_close_socket(sock);
 		return -1;
 	}