diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-06 07:58:51 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-06 07:58:51 +0000 |
commit | c7135ddd2dcd59ca46ea3307b21f68dea7504ac8 (patch) | |
tree | ca957b72291232741b6d7f14b9dd32fefb9e2d61 /ext/socket/extconf.rb | |
parent | 7e4a95cd062ac961a91b7b7185b75c103bc7496d (diff) | |
download | ruby-c7135ddd2dcd59ca46ea3307b21f68dea7504ac8.tar.gz |
socket/extconf.rb: RSTRING_SOCKLEN
* ext/socket/extconf.rb (RSTRING_SOCKLEN): macro to cast RSTRING_LEN
to socklen_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/socket/extconf.rb')
-rw-r--r-- | ext/socket/extconf.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index 011a110047..0a37a9b7c5 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -41,7 +41,11 @@ have_type("struct sockaddr_storage", headers) have_type("struct addrinfo", headers) -have_type("socklen_t", headers) +if have_type("socklen_t", headers) + if try_static_assert("sizeof(socklen_t) >= sizeof(long)", headers) + $defs << "-DRSTRING_SOCKLEN=(socklen_t)RSTRING_LEN" + end +end have_type("struct in_pktinfo", headers) {|src| src.sub(%r'^/\*top\*/', '\&'"\n#if defined(IPPROTO_IP) && defined(IP_PKTINFO)") << |