diff options
Diffstat (limited to 'ext/socket/extconf.rb')
-rw-r--r-- | ext/socket/extconf.rb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index 0fc5042b7d..c83c65cc47 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -21,12 +21,13 @@ else end $ipv6 = false -if enable_config("ipv6", "yes") +if enable_config("ipv6", true) if try_run(<<EOF) #include <sys/types.h> #include <sys/socket.h> main() { + exit(0); if (socket(AF_INET6, SOCK_STREAM, 0) < 0) exit(1); else @@ -38,6 +39,7 @@ EOF end end + $ipv6type = nil $ipv6lib = nil $ipv6libdir = nil @@ -252,9 +254,10 @@ int main() { struct sockaddr_storage storage; - struct sockaddr_storage *addr; + struct sockaddr_storage *addr = 0; - addr = &storage; + addr->_ss_family = &storage.__ss_family; + addr->_ss_len = &storage.__ss_len; return 0; } EOF @@ -268,11 +271,9 @@ else end if sockaddr_storage - $CFLAGS="-DSOCKADDR_STORAGE "+$CFLAGS + $CFLAGS="-DSOCKADDR_STORAGE=sockaddr_storage "+$CFLAGS end -p $ipv6 - have_header("sys/un.h") if have_func(test_func) have_func("hsterror") |