From cb31e783798438420e33a84a8bfe66acafaa7c4a Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 15 Feb 2013 22:19:05 +0000 Subject: * ext/socket/extconf.rb: test struct sockaddr_un and its member, sun_len. * ext/socket/sockport.h (INIT_SOCKADDR_UN): new macro defined. * ext/socket/socket.c (sock_s_pack_sockaddr_un): use INIT_SOCKADDR_UN. * ext/socket/unixsocket.c (rsock_init_unixsock): ditto. * ext/socket/raddrinfo.c (init_unix_addrinfo): ditto. (addrinfo_mload): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/socket/extconf.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'ext/socket/extconf.rb') diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index bb7be28e0e..8e95dbb5f5 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -50,6 +50,13 @@ end end } +have_struct_member("struct sockaddr", "sa_len", headers) # 4.4BSD +have_struct_member("struct sockaddr_in", "sin_len", headers) # 4.4BSD + +if have_type("struct sockaddr_un", headers) # POSIX + have_struct_member("struct sockaddr_un", "sun_len", headers) # 4.4BSD +end + have_type("struct sockaddr_storage", headers) have_type("struct addrinfo", headers) @@ -72,10 +79,6 @@ 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 -# 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)} if (doug[] or -- cgit v1.2.3