summaryrefslogtreecommitdiffstats
path: root/otherlibs/win32unix/getpeername.c
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/win32unix/getpeername.c')
-rw-r--r--otherlibs/win32unix/getpeername.c8
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);
}