fix on uClibc without IPv6 support Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Index: b/cpan/Socket/Socket.xs =================================================================== --- a/cpan/Socket/Socket.xs +++ b/cpan/Socket/Socket.xs @@ -896,7 +896,7 @@ CODE: #ifdef HAS_INETNTOP STRLEN addrlen; -#ifdef AF_INET6 +#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) struct in6_addr addr; char str[INET6_ADDRSTRLEN]; #else @@ -916,7 +916,7 @@ croak("Bad address length for Socket::inet_ntop on AF_INET;" " got %"UVuf", should be 4", (UV)addrlen); break; -#ifdef AF_INET6 +#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) case AF_INET6: if(addrlen != 16) croak("Bad address length for Socket::inet_ntop on AF_INET6;" @@ -925,7 +925,7 @@ #endif default: croak("Bad address family for %s, got %d, should be" -#ifdef AF_INET6 +#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) " either AF_INET or AF_INET6", #else " AF_INET", @@ -955,7 +955,7 @@ #ifdef HAS_INETPTON int ok; int addrlen = 0; -#ifdef AF_INET6 +#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) struct in6_addr ip_address; #else struct in_addr ip_address; @@ -965,14 +965,14 @@ case AF_INET: addrlen = 4; break; -#ifdef AF_INET6 +#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) case AF_INET6: addrlen = 16; break; #endif default: croak("Bad address family for %s, got %d, should be" -#ifdef AF_INET6 +#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6)) " either AF_INET or AF_INET6", #else " AF_INET",