Index: client/servers.c =================================================================== --- client/servers.c (revision 11249) +++ client/servers.c (working copy) @@ -55,6 +55,9 @@ #include #endif +#ifdef WIN32_NATIVE +#include "rand.h" +#endif #include "capstr.h" #include "dataio.h" #include "fcintl.h" @@ -331,7 +334,7 @@ char filename[MAX_PATH]; GetTempPath(sizeof(filename), filename); - cat_snprintf(filename, sizeof(filename) "fctmp%d", myrand()); + cat_snprintf(filename, sizeof(filename) "fctmp%d", myrand(1000)); scan->meta.fp = fopen(filename, "w+b"); #else @@ -419,7 +422,11 @@ my_nonblock(s); if (connect(s, (struct sockaddr *) &addr.sockaddr, sizeof(addr)) == -1) { +#ifdef HAVE_WINSOCK + if (errno == WSAEINPROGRESS) { +#else if (errno == EINPROGRESS) { +#endif /* With non-blocking sockets this is the expected result. */ scan->meta.state = META_CONNECTING; scan->sock = s;