aboutsummaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-13 12:01:24 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-13 12:01:24 +0000
commit22a04e572036276261121d1e80da5ec1a96e4e17 (patch)
tree883f4a07e5dbb8fc9e85db1580a81bb89bbb8d78 /ext
parent4b7514527870f3e7268846ee9fb275301f57b30a (diff)
downloadruby-22a04e572036276261121d1e80da5ec1a96e4e17.tar.gz
* ext/socket/extconf.rb: don't define socklen_t here, just test.
* ext/socket/rubysocket.h: define socklen_t if not available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/socket/extconf.rb4
-rw-r--r--ext/socket/rubysocket.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb
index f5d243ed47..5256cd0873 100644
--- a/ext/socket/extconf.rb
+++ b/ext/socket/extconf.rb
@@ -56,9 +56,7 @@ have_header("ucred.h", headers)
have_type("struct addrinfo", headers)
-unless have_type("socklen_t", headers)
- $defs << "-Dsocklen_t=int"
-end
+have_type("socklen_t", headers)
have_type("struct in_pktinfo", headers) {|src|
src.sub(%r'^/\*top\*/', '\&'"\n#if defined(IPPROTO_IP) && defined(IP_PKTINFO)") <<
diff --git a/ext/socket/rubysocket.h b/ext/socket/rubysocket.h
index ff91f51bb7..36833e6740 100644
--- a/ext/socket/rubysocket.h
+++ b/ext/socket/rubysocket.h
@@ -86,6 +86,10 @@
#include <ucred.h>
#endif
+#ifndef HAVE_TYPE_SOCKLEN_T
+typedef int socklen_t;
+#endif
+
#ifndef EWOULDBLOCK
#define EWOULDBLOCK EAGAIN
#endif