aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/assuan-socket.c6
-rw-r--r--src/assuan.h3
3 files changed, 12 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fb4325b..53fd37a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-05 Werner Koch <[email protected]>
+
+ * assuan-socket.c (_assuan_sock_wsa2errno): Map WSANOTINITIALISED.
+ (_assuan_sock_new): Use assuan_fd_t.
+ * assuan.h (_assuan_sock_wsa2errno): Add prefix macro.
+
2007-10-05 Marcus Brinkmann <[email protected]>
* assuan-defs.h (_assuan_sock_wsa2errno) [HAVE_W32_SYSTEM]: Add prototype.
diff --git a/src/assuan-socket.c b/src/assuan-socket.c
index 81beacd..044b1f1 100644
--- a/src/assuan-socket.c
+++ b/src/assuan-socket.c
@@ -68,6 +68,8 @@ _assuan_sock_wsa2errno (int err)
return EAGAIN;
case ERROR_BROKEN_PIPE:
return EPIPE;
+ case WSANOTINITIALISED:
+ return ENOSYS;
default:
return EIO;
}
@@ -168,11 +170,11 @@ assuan_fd_t
_assuan_sock_new (int domain, int type, int proto)
{
#ifdef HAVE_W32_SYSTEM
- int res;
+ assuan_fd_t res;
if (domain == AF_UNIX || domain == AF_LOCAL)
domain = AF_INET;
res = SOCKET2HANDLE(socket (domain, type, proto));
- if (res < 0)
+ if (res == ASSUAN_INVALID_FD)
errno = _assuan_sock_wsa2errno (WSAGetLastError ());
return res;
#else
diff --git a/src/assuan.h b/src/assuan.h
index 56c3c8d..bca5a83 100644
--- a/src/assuan.h
+++ b/src/assuan.h
@@ -185,7 +185,8 @@
#define _assuan_simple_recvmsg _ASSUAN_PREFIX(_assuan_simple_recvmsg)
#define _assuan_simple_sendmsg _ASSUAN_PREFIX(_assuan_simple_sendmsg)
#define _assuan_waitpid _ASSUAN_PREFIX(_assuan_waitpid)
-#define _assuan_sock_close _ASSUAN_PREFIX(_assuan_close)
+#define _assuan_sock_wsa2errno _ASSUAN_PREFIX(_assuan_sock_wsa2errno)
+#define _assuan_sock_close _ASSUAN_PREFIX(_assuan_sock_close)
#define _assuan_sock_new _ASSUAN_PREFIX(_assuan_sock_new)
#define _assuan_sock_connect _ASSUAN_PREFIX(_assuan_sock_connect)
#define _assuan_sock_bind _ASSUAN_PREFIX(_assuan_sock_bind)