diff --git a/engine/shared/library/sharedNetwork/src/win32/Address.cpp b/engine/shared/library/sharedNetwork/src/win32/Address.cpp index 52f113dd..6e3b5065 100644 --- a/engine/shared/library/sharedNetwork/src/win32/Address.cpp +++ b/engine/shared/library/sharedNetwork/src/win32/Address.cpp @@ -56,7 +56,13 @@ hostAddress(newHostAddress) // The first byte is a letter, resolve it if( (h = gethostbyname(hostAddress.c_str())) != 0) { - memcpy(&addr4->sin_addr, h->h_addr_list[0], sizeof(addr4->sin_addr)); + int i = 0; + while (h->h_addr_list[i] != 0) { + memcpy(&addr4->sin_addr, h->h_addr_list[i++], sizeof(addr4->sin_addr)); + //addr4->sin_addr = *(u_long *) h->h_addr_list[i++]; + //printf("\tIP Address #%d: %s\n", i, inet_ntoa(addr)); + } + //memcpy(&addr4->sin_addr, h->h_addr_list[0], sizeof(addr4->sin_addr)); } else { diff --git a/engine/shared/library/sharedNetwork/src/win32/NetworkGetHostName.cpp b/engine/shared/library/sharedNetwork/src/win32/NetworkGetHostName.cpp index 1b7c5901..faebb2b9 100644 --- a/engine/shared/library/sharedNetwork/src/win32/NetworkGetHostName.cpp +++ b/engine/shared/library/sharedNetwork/src/win32/NetworkGetHostName.cpp @@ -22,6 +22,8 @@ struct HN HN::HN() { + WSADATA wsaData; + int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); char name[512] = {"\0"}; if(gethostname(name, sizeof(name)) == 0) {