diff --git a/extras/net/sockets.m b/extras/net/sockets.m index a128842ad..9aab4c0e7 100644 --- a/extras/net/sockets.m +++ b/extras/net/sockets.m @@ -70,7 +70,7 @@ #ifdef MR_WIN32 #include - #define error() WSAGetLastError + #define error() WSAGetLastError() #else /* !MR_WIN32 */ @@ -184,7 +184,7 @@ } else { addr = MR_GC_NEW(struct sockaddr_in); - MR_memcpy(&(addr->sin_addr), host->h_addr, host->h_length); + MR_memcpy(&(addr->sin_addr), host->h_addr_list[0], host->h_length); addr->sin_family = host->h_addrtype; addr->sin_port = htons(Port); @@ -215,7 +215,7 @@ Success = MR_NO; } else { addr = MR_GC_NEW(struct sockaddr_in); - MR_memcpy(&(addr->sin_addr), host->h_addr, host->h_length); + MR_memcpy(&(addr->sin_addr), host->h_addr_list[0], host->h_length); addr->sin_family = host->h_addrtype; addr->sin_port = service->s_port; SA = (MR_Word) addr; diff --git a/extras/net/tcp.m b/extras/net/tcp.m index 87995bcfa..1a116bd64 100644 --- a/extras/net/tcp.m +++ b/extras/net/tcp.m @@ -274,7 +274,7 @@ void ML_tcp_init(void) } else { addr = MR_GC_NEW(struct sockaddr_in); MR_memset(addr, 0, sizeof(struct sockaddr_in)); - MR_memcpy(&(addr->sin_addr), host->h_addr, host->h_length); + MR_memcpy(&(addr->sin_addr), host->h_addr_list[0], host->h_length); addr->sin_family = host->h_addrtype; addr->sin_port = htons(Port); /* @@ -334,7 +334,7 @@ socket_fd(Tcp) = socket_fd_c(Tcp ^ handle). } else { addr = MR_GC_NEW(struct sockaddr_in); MR_memset(addr, 0, sizeof(struct sockaddr_in)); - MR_memcpy(&(addr->sin_addr), host->h_addr, host->h_length); + MR_memcpy(&(addr->sin_addr), host->h_addr_list[0], host->h_length); addr->sin_family = host->h_addrtype; addr->sin_port = htons(Port);