summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/socket/extconf.rb4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8eada109c0..4b3f158900 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
-Tue Apr 9 02:40:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Tue Apr 9 02:42:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/socket/extconf.rb: check struct in_addr6, which is defined in
+ VC6 instead of in6_addr.
* ext/socket/option.c (optname_to_sym): fix macro name.
diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb
index 0a37a9b7c5..a168404ae3 100644
--- a/ext/socket/extconf.rb
+++ b/ext/socket/extconf.rb
@@ -477,6 +477,10 @@ EOS
if getaddr_info_ok == :wide or
!have_func("getnameinfo", headers) or !have_func("getaddrinfo", headers)
+ if !have_type("struct in6_addr", headers) and have_type("struct in_addr6", headers)
+ $defs.pop(2)
+ $defs << "-Din_addr6=in6_addr"
+ end
if have_struct_member("struct in6_addr", "s6_addr8", headers)
$defs[-1] = "s6_addr=s6_addr8"
end