Index: ext/socket/getaddrinfo.c =================================================================== --- ext/socket/getaddrinfo.c (revision 26111) +++ ext/socket/getaddrinfo.c (working copy) @@ -88,8 +88,4 @@ #include "sockport.h" -#if defined(__KAME__) && defined(INET6) -# define FAITH -#endif - #define SUCCESS 0 #define ANY 0 @@ -494,9 +490,5 @@ getaddrinfo(hostname, servname, hints, r #ifdef INET6 case AF_INET6: -#ifdef HAVE_ADDR8 - pfx = ((struct in6_addr *)pton)->s6_addr8[0]; -#else pfx = ((struct in6_addr *)pton)->s6_addr[0]; -#endif if (pfx == 0 || pfx == 0xfe || pfx == 0xff) pai->ai_flags &= ~AI_CANONNAME; @@ -674,7 +666,8 @@ get_addr(hostname, af, res, pai, port0) GET_AI(cur->ai_next, &afdl[N_INET6], ap, port); in6 = &((struct sockaddr_in6 *)cur->ai_next->ai_addr)->sin6_addr; - memcpy(&in6->s6_addr32[0], &faith_prefix, - sizeof(struct in6_addr) - sizeof(struct in_addr)); - memcpy(&in6->s6_addr32[3], ap, sizeof(struct in_addr)); + memcpy(&in6->s6_addr, &faith_prefix, + sizeof(struct in6_addr) - sizeof(struct in_addr)); + memcpy(&in6->s6_addr + sizeof(struct in_addr), ap, + sizeof(struct in_addr)); } else #endif /* FAITH */ Index: ext/socket/extconf.rb =================================================================== --- ext/socket/extconf.rb (revision 26111) +++ ext/socket/extconf.rb (working copy) @@ -121,6 +121,6 @@ if have_func("sendmsg") | have_func("rec end -getaddr_info_ok = enable_config("wide-getaddrinfo") do - checking_for("wide getaddrinfo") {try_run(< @@ -225,5 +225,4 @@ main() } EOF -end if ipv6 and not getaddr_info_ok abort <