X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=src%2Flib%2Fw32%2Fw32sockets.c;h=6e90468f964f8d0d7b4d76f7ec2312dde552270b;hp=318949d4bae01d737cd23c56267acea58488f8b7;hb=4d40a27542230e9131eb0d30904bfdeb2d6a9f59;hpb=1153d9c99528062368d2645043069dd0f0603aec diff --git a/src/lib/w32/w32sockets.c b/src/lib/w32/w32sockets.c index 318949d4b..6e90468f9 100644 --- a/src/lib/w32/w32sockets.c +++ b/src/lib/w32/w32sockets.c @@ -147,6 +147,25 @@ w32_bind(int fd, const struct sockaddr *name, socklen_t namelen) SOCKET_FUNCTION(bind(sock, name, namelen)); } +/* + * POSIX compatible connect() replacement + */ +#undef connect +int +w32_connect(int sockfd, const struct sockaddr *addr, int addrlen) +{ + SOCKET sock = W32_FD_TO_SOCKET(sockfd); + int result; + + result = connect(sock, addr, addrlen); + if (result == SOCKET_ERROR) { + /* FIXME map WSAEWOULDBLOCK to EINPROGRESS */ + w32_set_winsock_errno(); + return -1; + } + return result; +} + /* * POSIX equivalent for listen(). */