aboutsummaryrefslogtreecommitdiff
path: root/win32/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/net.c')
-rw-r--r--win32/net.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/win32/net.c b/win32/net.c
index 880b807b7..33dc837fa 100644
--- a/win32/net.c
+++ b/win32/net.c
@@ -10,7 +10,7 @@ int inet_aton(const char *cp, struct in_addr *inp)
10 return 1; 10 return 1;
11} 11}
12 12
13static void init_winsock(void) 13void init_winsock(void)
14{ 14{
15 WSADATA wsa; 15 WSADATA wsa;
16 static int initialized = 0; 16 static int initialized = 0;
@@ -134,8 +134,10 @@ int mingw_accept(int sockfd1, struct sockaddr *sa, socklen_t *sz)
134#undef getpeername 134#undef getpeername
135int mingw_getpeername(int fd, struct sockaddr *sa, socklen_t *sz) 135int mingw_getpeername(int fd, struct sockaddr *sa, socklen_t *sz)
136{ 136{
137 SOCKET sock = (SOCKET)_get_osfhandle(fd); 137 SOCKET sock;
138 138
139 init_winsock();
140 sock = (SOCKET)_get_osfhandle(fd);
139 if (sock == INVALID_SOCKET) { 141 if (sock == INVALID_SOCKET) {
140 errno = EBADF; 142 errno = EBADF;
141 return -1; 143 return -1;