diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-02-15 22:19:05 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-02-15 22:19:05 +0000 |
commit | cb31e783798438420e33a84a8bfe66acafaa7c4a (patch) | |
tree | abd633cd3da6ebf4155f883b0179866487235998 /ext/socket/extconf.rb | |
parent | 84a525bc4e47c33c07cc135e6e77df1369375042 (diff) |
* 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
Diffstat (limited to 'ext/socket/extconf.rb')
-rw-r--r-- | ext/socket/extconf.rb | 11 |
1 files changed, 7 insertions, 4 deletions
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 |