diff --git a/ChangeLog b/ChangeLog index e58e95cce3..0f4ab10d62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Dec 5 14:27:23 2011 NAKAMURA Usaku + + * include/ruby/{subst.h,win32.h}, ext/socket/rubysocket.h: revert + r33876. [ruby-core:41475] [Bug #5706] + + * ext/socket/extconf.rb: the alternative hack for [Bug #5675]. + Mon Dec 5 10:18:45 2011 NAKAMURA Usaku * ext/zlib/zlib.c (rb_gzreader_initialize): revert a part of r33937. diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index 330ee39c5f..ba180c820e 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -483,7 +483,9 @@ $distcleanfiles << "constants.h" << "constdefs.*" if have_func(test_func) have_func("hsterror") have_func("getipnodebyname") or have_func("gethostbyname2") - have_func("socketpair(0, 0, 0, 0)") + if !have_func("socketpair(0, 0, 0, 0)") and have_func("rb_w32_socketpair(0, 0, 0, 0)") + $defs << "-Dsocketpair(a,b,c,d)=rb_w32_socketpair((a),(b),(c),(d))" + end unless have_func("gethostname((char *)0, 0)") have_func("uname") end diff --git a/ext/socket/rubysocket.h b/ext/socket/rubysocket.h index d6f990eed9..3e2f6c9565 100644 --- a/ext/socket/rubysocket.h +++ b/ext/socket/rubysocket.h @@ -4,7 +4,6 @@ #include "ruby/ruby.h" #include "ruby/io.h" #include "ruby/util.h" -#include "ruby/subst.h" #include "internal.h" #include #include diff --git a/include/ruby/subst.h b/include/ruby/subst.h index 79a5165cfb..1f0e6db5a4 100644 --- a/include/ruby/subst.h +++ b/include/ruby/subst.h @@ -16,97 +16,4 @@ #undef close #define close ruby_close #endif - -#ifdef _WIN32 -#undef inet_ntop -#define inet_ntop(f,a,n,l) rb_w32_inet_ntop(f,a,n,l) - -#undef accept -#define accept(s, a, l) rb_w32_accept(s, a, l) - -#undef bind -#define bind(s, a, l) rb_w32_bind(s, a, l) - -#undef connect -#define connect(s, a, l) rb_w32_connect(s, a, l) - -#undef select -#define select(n, r, w, e, t) rb_w32_select(n, r, w, e, t) - -#undef getpeername -#define getpeername(s, a, l) rb_w32_getpeername(s, a, l) - -#undef getsockname -#define getsockname(s, a, l) rb_w32_getsockname(s, a, l) - -#undef getsockopt -#define getsockopt(s, v, n, o, l) rb_w32_getsockopt(s, v, n, o, l) - -#undef ioctlsocket -#define ioctlsocket(s, c, a) rb_w32_ioctlsocket(s, c, a) - -#undef listen -#define listen(s, b) rb_w32_listen(s, b) - -#undef recv -#define recv(s, b, l, f) rb_w32_recv(s, b, l, f) - -#undef recvfrom -#define recvfrom(s, b, l, f, fr, frl) rb_w32_recvfrom(s, b, l, f, fr, frl) - -#undef send -#define send(s, b, l, f) rb_w32_send(s, b, l, f) - -#undef sendto -#define sendto(s, b, l, f, t, tl) rb_w32_sendto(s, b, l, f, t, tl) - -#undef setsockopt -#define setsockopt(s, v, n, o, l) rb_w32_setsockopt(s, v, n, o, l) - -#undef shutdown -#define shutdown(s, h) rb_w32_shutdown(s, h) - -#undef socket -#define socket(s, t, p) rb_w32_socket(s, t, p) - -#undef gethostbyaddr -#define gethostbyaddr(a, l, t) rb_w32_gethostbyaddr(a, l, t) - -#undef gethostbyname -#define gethostbyname(n) rb_w32_gethostbyname(n) - -#undef gethostname -#define gethostname(n, l) rb_w32_gethostname(n, l) - -#undef getprotobyname -#define getprotobyname(n) rb_w32_getprotobyname(n) - -#undef getprotobynumber -#define getprotobynumber(n) rb_w32_getprotobynumber(n) - -#undef getservbyname -#define getservbyname(n, p) rb_w32_getservbyname(n, p) - -#undef getservbyport -#define getservbyport(p, pr) rb_w32_getservbyport(p, pr) - -#undef socketpair -#define socketpair(a, t, p, s) rb_w32_socketpair(a, t, p, s) - -#undef get_osfhandle -#define get_osfhandle(h) rb_w32_get_osfhandle(h) - -#undef getcwd -#define getcwd(b, s) rb_w32_getcwd(b, s) - -#undef getenv -#define getenv(n) rb_w32_getenv(n) - -#undef rename -#define rename(o, n) rb_w32_rename(o, n) - -#undef times -#define times(t) rb_w32_times(t) -#endif - #endif diff --git a/include/ruby/win32.h b/include/ruby/win32.h index 2bdcbc5318..ea6d3939d0 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -586,6 +586,98 @@ extern char *rb_w32_strerror(int); #undef FD_ISSET #define FD_ISSET(f, s) rb_w32_fdisset(f, s) +#ifdef RUBY_EXPORT +#undef inet_ntop +#define inet_ntop(f,a,n,l) rb_w32_inet_ntop(f,a,n,l) + +#undef accept +#define accept(s, a, l) rb_w32_accept(s, a, l) + +#undef bind +#define bind(s, a, l) rb_w32_bind(s, a, l) + +#undef connect +#define connect(s, a, l) rb_w32_connect(s, a, l) + +#undef select +#define select(n, r, w, e, t) rb_w32_select(n, r, w, e, t) + +#undef getpeername +#define getpeername(s, a, l) rb_w32_getpeername(s, a, l) + +#undef getsockname +#define getsockname(s, a, l) rb_w32_getsockname(s, a, l) + +#undef getsockopt +#define getsockopt(s, v, n, o, l) rb_w32_getsockopt(s, v, n, o, l) + +#undef ioctlsocket +#define ioctlsocket(s, c, a) rb_w32_ioctlsocket(s, c, a) + +#undef listen +#define listen(s, b) rb_w32_listen(s, b) + +#undef recv +#define recv(s, b, l, f) rb_w32_recv(s, b, l, f) + +#undef recvfrom +#define recvfrom(s, b, l, f, fr, frl) rb_w32_recvfrom(s, b, l, f, fr, frl) + +#undef send +#define send(s, b, l, f) rb_w32_send(s, b, l, f) + +#undef sendto +#define sendto(s, b, l, f, t, tl) rb_w32_sendto(s, b, l, f, t, tl) + +#undef setsockopt +#define setsockopt(s, v, n, o, l) rb_w32_setsockopt(s, v, n, o, l) + +#undef shutdown +#define shutdown(s, h) rb_w32_shutdown(s, h) + +#undef socket +#define socket(s, t, p) rb_w32_socket(s, t, p) + +#undef gethostbyaddr +#define gethostbyaddr(a, l, t) rb_w32_gethostbyaddr(a, l, t) + +#undef gethostbyname +#define gethostbyname(n) rb_w32_gethostbyname(n) + +#undef gethostname +#define gethostname(n, l) rb_w32_gethostname(n, l) + +#undef getprotobyname +#define getprotobyname(n) rb_w32_getprotobyname(n) + +#undef getprotobynumber +#define getprotobynumber(n) rb_w32_getprotobynumber(n) + +#undef getservbyname +#define getservbyname(n, p) rb_w32_getservbyname(n, p) + +#undef getservbyport +#define getservbyport(p, pr) rb_w32_getservbyport(p, pr) + +#undef socketpair +#define socketpair(a, t, p, s) rb_w32_socketpair(a, t, p, s) + +#undef get_osfhandle +#define get_osfhandle(h) rb_w32_get_osfhandle(h) + +#undef getcwd +#define getcwd(b, s) rb_w32_getcwd(b, s) + +#undef getenv +#define getenv(n) rb_w32_getenv(n) + +#undef rename +#define rename(o, n) rb_w32_rename(o, n) + +#undef times +#define times(t) rb_w32_times(t) +#endif + struct tms { long tms_utime; long tms_stime;