diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-08-18 14:26:36 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-08-18 14:26:36 +0000 |
commit | 6d37aaab9a818754253f546997baa01aa5212d5a (patch) | |
tree | 93341ed239d3bdc9db0eff9951384dadd6ceabd7 | |
parent | 4c3d49e91744f62532019261429c044c63b64c44 (diff) |
merge revision(s) 55797: [Backport #12645]
* ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share
the fallback definition. [ruby-core:76646] [Bug #12645]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@55960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/socket/getnameinfo.c | 18 | ||||
-rw-r--r-- | ext/socket/option.c | 6 | ||||
-rw-r--r-- | ext/socket/rubysocket.h | 8 | ||||
-rw-r--r-- | version.h | 2 |
5 files changed, 15 insertions, 24 deletions
@@ -1,3 +1,8 @@ +Thu Aug 18 23:18:17 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share + the fallback definition. [ruby-core:76646] [Bug #12645] + Thu Aug 18 23:07:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org> * vm.c (vm_set_main_stack): remove unnecessary check. toplevel diff --git a/ext/socket/getnameinfo.c b/ext/socket/getnameinfo.c index bca97acc1f..b7e75f7d27 100644 --- a/ext/socket/getnameinfo.c +++ b/ext/socket/getnameinfo.c @@ -117,24 +117,6 @@ static struct afd { #define ENI_FAMILY 5 #define ENI_SALEN 6 -#ifndef HAVE_INET_NTOP -static const char * -inet_ntop(int af, const void *addr, char *numaddr, size_t numaddr_len) -{ -#ifdef HAVE_INET_NTOA - struct in_addr in; - memcpy(&in.s_addr, addr, sizeof(in.s_addr)); - snprintf(numaddr, numaddr_len, "%s", inet_ntoa(in)); -#else - unsigned long x = ntohl(*(unsigned long*)addr); - snprintf(numaddr, numaddr_len, "%d.%d.%d.%d", - (int) (x>>24) & 0xff, (int) (x>>16) & 0xff, - (int) (x>> 8) & 0xff, (int) (x>> 0) & 0xff); -#endif - return numaddr; -} -#endif - int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags) { diff --git a/ext/socket/option.c b/ext/socket/option.c index 7307548e50..a823ec7757 100644 --- a/ext/socket/option.c +++ b/ext/socket/option.c @@ -645,7 +645,7 @@ inspect_timeval_as_interval(int level, int optname, VALUE data, VALUE ret) */ #if !defined HAVE_INET_NTOP && ! defined _WIN32 -static const char * +const char * inet_ntop(int af, const void *addr, char *numaddr, size_t numaddr_len) { #ifdef HAVE_INET_NTOA @@ -660,10 +660,6 @@ inet_ntop(int af, const void *addr, char *numaddr, size_t numaddr_len) #endif return numaddr; } -#elif defined __MINGW32__ -# define inet_ntop(f,a,n,l) rb_w32_inet_ntop(f,a,n,l) -#elif defined _MSC_VER && RUBY_MSVCRT_VERSION < 90 -const char *WSAAPI inet_ntop(int, const void *, char *, size_t); #endif /* Although the buffer size needed depends on the prefixes, "%u" may generate "4294967295". */ diff --git a/ext/socket/rubysocket.h b/ext/socket/rubysocket.h index ecd1dfd4ef..352da8c56e 100644 --- a/ext/socket/rubysocket.h +++ b/ext/socket/rubysocket.h @@ -430,4 +430,12 @@ static inline void rsock_maybe_wait_fd(int fd) { } # define MSG_DONTWAIT_RELIABLE 0 #endif +#if !defined HAVE_INET_NTOP && ! defined _WIN32 +const char *inet_ntop(int, const void *, char *, size_t); +#elif defined __MINGW32__ +# define inet_ntop(f,a,n,l) rb_w32_inet_ntop(f,a,n,l) +#elif defined _MSC_VER && RUBY_MSVCRT_VERSION < 90 +const char *WSAAPI inet_ntop(int, const void *, char *, size_t); +#endif + #endif @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.3.2" #define RUBY_RELEASE_DATE "2016-08-18" -#define RUBY_PATCHLEVEL 171 +#define RUBY_PATCHLEVEL 172 #define RUBY_RELEASE_YEAR 2016 #define RUBY_RELEASE_MONTH 8 |