diff --git a/hal/socket/win32/socket_win32.c b/hal/socket/win32/socket_win32.c index 65c99e74..64e5180e 100644 --- a/hal/socket/win32/socket_win32.c +++ b/hal/socket/win32/socket_win32.c @@ -168,6 +168,25 @@ setSocketBufferSize(Socket self, int rcvBufSize, int sndBufSize) } +#ifdef __i386__ +const char* +inet_ntop(int af, const void* src, char* dst, int cnt){ + + struct sockaddr_in srcaddr; + + memset(&srcaddr, 0, sizeof(struct sockaddr_in)); + memcpy(&(srcaddr.sin_addr), src, sizeof(srcaddr.sin_addr)); + + srcaddr.sin_family = af; + if (WSAAddressToString((struct sockaddr*) &srcaddr, sizeof(struct sockaddr_in), 0, dst, (LPDWORD) &cnt) != 0) { + DWORD rv = WSAGetLastError(); + printf("WSAAddressToString() : %d\n",rv); + return NULL; + } + return dst; +} +#endif + static bool prepareAddress(const char *address, int port, struct sockaddr_in *sockaddr) {