From: Andy Green Date: Wed, 2 Apr 2014 13:31:07 +0000 (+0800) Subject: win32 inet_top X-Git-Tag: upstream/1.7.3~670 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5266f66f501da4678a3901a274276f7f33ee303a;p=platform%2Fupstream%2Flibwebsockets.git win32 inet_top Signed-off-by: Andy Green --- diff --git a/lib/lws-plat-win.c b/lib/lws-plat-win.c index c9d7b4b..585c610 100644 --- a/lib/lws-plat-win.c +++ b/lib/lws-plat-win.c @@ -308,4 +308,30 @@ lws_plat_open_file(const char* filename, unsigned long* filelen) *filelen = GetFileSize(ret, NULL); return ret; +} + +/* + * Windows doesn't have an "inet_top" + * This came from http://memset.wordpress.com/2010/10/09/inet_ntop-for-win32/ + * suggested by Joakim Soderberg + */ + +LWS_VISIBLE +const char *inet_ntop(int af, const void *src, char *dst, int cnt) +{ + struct sockaddr_in srcaddr; + DWORD rv; + + 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)) + return dst; + + rv = WSAGetLastError(); + lwsl_err("WSAAddressToString() : %d\n",rv); + + return NULL; } \ No newline at end of file diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h index 1a58dd8..cfc61c0 100644 --- a/lib/private-libwebsockets.h +++ b/lib/private-libwebsockets.h @@ -83,6 +83,7 @@ #include #include #define LWS_INVALID_FILE INVALID_HANDLE_VALUE +const char *inet_ntop(int af, const void *src, char *dst, int cnt); #else /* not windows --> */ #include #include