From ed193c50f52635923840991b8847211846a018f9 Mon Sep 17 00:00:00 2001 From: akr Date: Wed, 13 Feb 2013 23:20:27 +0000 Subject: * ext/socket/extconf.rb: don't define HAVE_SA_LEN and HAVE_SA_LEN. use HAVE_STRUCT_SOCKADDR_SA_LEN and HAVE_STRUCT_SOCKADDR_IN_SIN_LEN instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/socket/extconf.rb | 10 +++------- ext/socket/rubysocket.h | 2 +- ext/socket/socket.c | 2 +- ext/socket/sockport.h | 6 +++--- 4 files changed, 8 insertions(+), 12 deletions(-) (limited to 'ext/socket') diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index 5721f90d14..eff2d3f926 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -74,9 +74,9 @@ have_type("struct ip_mreq", headers) # 4.4BSD have_type("struct ip_mreqn", headers) # Linux 2.4 have_type("struct ipv6_mreq", headers) # RFC 3493 -if have_struct_member("struct sockaddr_in", "sin_len", headers) - $defs[-1] = "-DHAVE_SIN_LEN" # change from -DHAVE_ST_SIN_LEN. -end +# 4.4BSD +have_struct_member("struct sockaddr", "sa_len", headers) +have_struct_member("struct sockaddr_in", "sin_len", headers) # doug's fix, NOW add -Dss_family... only if required! doug = proc {have_struct_member("struct sockaddr_storage", "ss_family", headers)} @@ -87,10 +87,6 @@ if (doug[] or doug[] or with_cppflags($CPPFLAGS + " -Dss_len=__ss_len", &doug) end -if have_struct_member("struct sockaddr", "sa_len", headers) - $defs[-1] = "-DHAVE_SA_LEN " # change from -DHAVE_ST_SA_LEN. -end - have_struct_member('struct msghdr', 'msg_control', ['sys/types.h', 'sys/socket.h']) have_struct_member('struct msghdr', 'msg_accrights', ['sys/types.h', 'sys/socket.h']) diff --git a/ext/socket/rubysocket.h b/ext/socket/rubysocket.h index 36833e6740..a0fb71ba91 100644 --- a/ext/socket/rubysocket.h +++ b/ext/socket/rubysocket.h @@ -136,7 +136,7 @@ typedef int socklen_t; _SS_PAD1SIZE - _SS_ALIGNSIZE) struct sockaddr_storage { -#ifdef HAVE_SA_LEN +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN unsigned char ss_len; /* address length */ unsigned char ss_family; /* address family */ #else diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 6900dbcca6..af9c182380 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -1698,7 +1698,7 @@ socket_s_ip_address_list(VALUE self) if (IS_IP_FAMILY(addr->sa_family)) { rb_ary_push(list, sockaddr_obj(addr)); } -#ifdef HAVE_SA_LEN +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN # ifndef _SIZEOF_ADDR_IFREQ # define _SIZEOF_ADDR_IFREQ(r) \ (sizeof(struct ifreq) + \ diff --git a/ext/socket/sockport.h b/ext/socket/sockport.h index 5f2fd24530..5ab087d97b 100644 --- a/ext/socket/sockport.h +++ b/ext/socket/sockport.h @@ -13,7 +13,7 @@ #ifdef SA_LEN # define SS_LEN(ss) (ss)->ss_len #else -# ifdef HAVE_SA_LEN +# ifdef HAVE_STRUCT_SOCKADDR_SA_LEN # define SA_LEN(sa) (sa)->sa_len # define SS_LEN(ss) (ss)->ss_len # else @@ -32,7 +32,7 @@ # endif #endif -#ifdef HAVE_SA_LEN +#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN # define SET_SA_LEN(sa, len) (void)((sa)->sa_len = (len)) # define SET_SS_LEN(ss, len) (void)((ss)->ss_len = (len)) #else @@ -40,7 +40,7 @@ # define SET_SS_LEN(ss, len) (void)(len) #endif -#ifdef HAVE_SIN_LEN +#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN # define SIN_LEN(si) (si)->sin_len # define SET_SIN_LEN(si,len) (si)->sin_len = (len) #else -- cgit v1.2.3