summaryrefslogtreecommitdiffstats
path: root/otherlibs/win32unix/getsockname.c
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/win32unix/getsockname.c')
-rw-r--r--otherlibs/win32unix/getsockname.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/otherlibs/win32unix/getsockname.c b/otherlibs/win32unix/getsockname.c
index 51b3a9f58..8faf5ba1c 100644
--- a/otherlibs/win32unix/getsockname.c
+++ b/otherlibs/win32unix/getsockname.c
@@ -20,10 +20,12 @@ value unix_getsockname(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 = getsockname((SOCKET) Handle_val(sock),
- &sock_addr.s_gen, &sock_addr_len);
+ &addr.s_gen, &addr_len);
if (retcode == -1) uerror("getsockname", Nothing);
- return alloc_sockaddr();
+ return alloc_sockaddr(&addr, addr_len);
}