diff options
Diffstat (limited to 'otherlibs/win32unix/getpeername.c')
-rw-r--r-- | otherlibs/win32unix/getpeername.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/otherlibs/win32unix/getpeername.c b/otherlibs/win32unix/getpeername.c index bcdb80135..9bf4ee69f 100644 --- a/otherlibs/win32unix/getpeername.c +++ b/otherlibs/win32unix/getpeername.c @@ -20,10 +20,12 @@ value unix_getpeername(sock) /* ML */ value sock; { int retcode; + union sock_addr_union addr; + socklen_param_type addr_len; - sock_addr_len = sizeof(sock_addr); + addr_len = sizeof(sock_addr); retcode = getpeername((SOCKET) Handle_val(sock), - &sock_addr.s_gen, &sock_addr_len); + &addr.s_gen, &addr_len); if (retcode == -1) unix_error(WSAGetLastError(), "getpeername", Nothing); - return alloc_sockaddr(); + return alloc_sockaddr(&addr, addr_len); } |