diff --git a/include/ruby/win32.h b/include/ruby/win32.h index eaa825fd8c..2bdcbc5318 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -273,7 +273,7 @@ extern int rb_w32_urename(const char *, const char *); extern char **rb_w32_get_environ(void); extern void rb_w32_free_environ(char **); extern int rb_w32_map_errno(DWORD); -extern char * WSAAPI rb_w32_inet_ntop(int,void *,char *,size_t); +extern char * WSAAPI rb_w32_inet_ntop(int,const void *,char *,size_t); extern DWORD rb_w32_osver(void); extern int chown(const char *, int, int); diff --git a/win32/win32.c b/win32/win32.c index 966688286e..3ab696d59b 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -6130,17 +6130,18 @@ signbit(double x) /* License: Ruby's */ char * WSAAPI -rb_w32_inet_ntop(int af, void *addr, char *numaddr, size_t numaddr_len) +rb_w32_inet_ntop(int af, const void *addr, char *numaddr, size_t numaddr_len) { typedef char *(WSAAPI inet_ntop_t)(int, void *, char *, size_t); inet_ntop_t *pInetNtop; pInetNtop = (inet_ntop_t *)get_proc_address("ws2_32", "inet_ntop", NULL); - if(pInetNtop){ - return pInetNtop(af,addr,numaddr,numaddr_len); - }else{ - struct in_addr in; - memcpy(&in.s_addr, addr, sizeof(in.s_addr)); - snprintf(numaddr, numaddr_len, "%s", inet_ntoa(in)); + if (pInetNtop) { + return pInetNtop(af, (void *)addr, numaddr, numaddr_len); + } + else { + struct in_addr in; + memcpy(&in.s_addr, addr, sizeof(in.s_addr)); + snprintf(numaddr, numaddr_len, "%s", inet_ntoa(in)); } return numaddr; }