@@ -26,7 +26,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
26
*/
27
27
28
28
/* Changes:
29
- * 2022-11-04: return value types as in Windows Sockets 2 documentation
29
+ * 2022-11-04: align types of arguments and return value of Windows Sockets 2
30
+ * functions with Muicrosoft documentation
30
31
* 2014-02-12: merge David Woodhouse, Ger Hobbelt improvements
31
32
* git.infradead.org/users/dwmw2/openconnect.git/commitdiff/bdeefa54
32
33
* github.com/GerHobbelt/selectable-socketpair
@@ -52,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
52
53
#include <string.h>
53
54
54
55
#ifdef WIN32
55
- # include <ws2tcpip .h> /* socklen_t, et al (MSVC20xx) */
56
+ # include <winsock2 .h>
56
57
# include <windows.h>
57
58
# include <io.h>
58
59
#else
@@ -78,16 +79,16 @@ int dumb_socketpair(SOCKET socks[2], int make_overlapped)
78
79
struct sockaddr addr ;
79
80
} a ;
80
81
SOCKET listener ;
81
- int e ;
82
- socklen_t addrlen = sizeof (a .inaddr );
82
+ int addrlen = (int ) sizeof (a .inaddr );
83
83
DWORD flags = (make_overlapped ? WSA_FLAG_OVERLAPPED : 0 );
84
- int reuse = 1 ;
84
+ DWORD reuse = 1 ;
85
+ int e ;
85
86
86
87
if (socks == 0 ) {
87
88
WSASetLastError (WSAEINVAL );
88
89
return SOCKET_ERROR ;
89
90
}
90
- socks [0 ] = socks [1 ] = -1 ;
91
+ socks [0 ] = socks [1 ] = INVALID_SOCKET ;
91
92
92
93
listener = socket (AF_INET , SOCK_STREAM , IPPROTO_TCP );
93
94
if (listener == INVALID_SOCKET )
@@ -100,9 +101,9 @@ int dumb_socketpair(SOCKET socks[2], int make_overlapped)
100
101
101
102
for (;;) {
102
103
if (setsockopt (listener , SOL_SOCKET , SO_REUSEADDR ,
103
- (char * ) & reuse , (socklen_t ) sizeof (reuse )) == SOCKET_ERROR )
104
+ (const char * ) & reuse , (int ) sizeof (reuse )) == SOCKET_ERROR )
104
105
break ;
105
- if (bind (listener , & a .addr , sizeof (a .inaddr )) == SOCKET_ERROR )
106
+ if (bind (listener , & a .addr , ( int ) sizeof (a .inaddr )) == SOCKET_ERROR )
106
107
break ;
107
108
108
109
memset (& a , 0 , sizeof (a ));
@@ -119,7 +120,7 @@ int dumb_socketpair(SOCKET socks[2], int make_overlapped)
119
120
socks [0 ] = WSASocket (AF_INET , SOCK_STREAM , 0 , NULL , 0 , flags );
120
121
if (socks [0 ] == INVALID_SOCKET )
121
122
break ;
122
- if (connect (socks [0 ], & a .addr , sizeof (a .inaddr )) == SOCKET_ERROR )
123
+ if (connect (socks [0 ], & a .addr , ( int ) sizeof (a .inaddr )) == SOCKET_ERROR )
123
124
break ;
124
125
125
126
socks [1 ] = accept (listener , NULL , NULL );
@@ -135,7 +136,7 @@ int dumb_socketpair(SOCKET socks[2], int make_overlapped)
135
136
closesocket (socks [0 ]);
136
137
closesocket (socks [1 ]);
137
138
WSASetLastError (e );
138
- socks [0 ] = socks [1 ] = -1 ;
139
+ socks [0 ] = socks [1 ] = INVALID_SOCKET ;
139
140
return SOCKET_ERROR ;
140
141
}
141
142
#else
0 commit comments