patch 7.4.1459
Problem:    MS-Windows doesn't know socklen_t.
Solution:   Use previous method for WIN32.
diff --git a/src/channel.c b/src/channel.c
index 745d226..a1ea6b8 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -681,8 +681,10 @@
 	    struct timeval	tv;
 	    fd_set		rfds;
 	    fd_set		wfds;
+#ifndef WIN32
 	    int			so_error = 0;
 	    socklen_t		so_error_len = sizeof(so_error);
+#endif
 
 	    FD_ZERO(&rfds);
 	    FD_SET(sd, &rfds);
@@ -709,9 +711,12 @@
 		return NULL;
 	    }
 
+#ifdef WIN32
 	    /* On Win32: select() is expected to work and wait for up to the
-	     * waittime for the socket to be open.
-	     * On Linux-like systems: See socket(7) for the behavior
+	     * waittime for the socket to be open. */
+	    if (!FD_ISSET(sd, &wfds) || ret == 0)
+#else
+	    /* On Linux-like systems: See socket(7) for the behavior
 	     * After putting the socket in non-blocking mode, connect() will
 	     * return EINPROGRESS, select() will not wait (as if writing is
 	     * possible), need to use getsockopt() to check if the socket is
@@ -725,9 +730,9 @@
 		if (ret < 0 || (so_error != 0
 			&& so_error != EWOULDBLOCK
 			&& so_error != ECONNREFUSED
-#ifdef EINPROGRESS
+# ifdef EINPROGRESS
 			&& so_error != EINPROGRESS
-#endif
+# endif
 			))
 		{
 		    ch_errorn(channel,
@@ -741,6 +746,7 @@
 	    }
 
 	    if (!FD_ISSET(sd, &wfds) || so_error != 0)
+#endif
 	    {
 #ifndef WIN32
 		struct  timeval end_tv;
diff --git a/src/version.c b/src/version.c
index 0fb7b8a..f9f4128 100644
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1459,
+/**/
     1458,
 /**/
     1457,