From f68fb8fad2a9af72fd37d3791241d056106196dc Mon Sep 17 00:00:00 2001 From: Stig Venaas Date: Thu, 7 Sep 2000 17:56:12 +0000 Subject: [PATCH] Better IPv6 checking --- configure.in | 9 +++++++++ main/network.c | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 3f51ef8916..72dc9e75f9 100644 --- a/configure.in +++ b/configure.in @@ -329,6 +329,15 @@ dnl Checks for types AC_TYPE_SIZE_T AC_TYPE_UID_T +dnl Check for struct sockaddr_in6 +AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_struct_sockaddr_in6, +[AC_TRY_COMPILE([#include +#include ], [struct sockaddr_in6 s; s;], + ac_cv_struct_sockaddr_in6=yes, ac_cv_struct_sockaddr_in6=no)]) +if test "$ac_cv_struct_sockaddr_in6" = yes; then + AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6,1,[Whether you have struct sockaddr_in6]) +fi + dnl Checks for library functions. AC_FUNC_VPRINTF AC_CHECK_FUNCS( diff --git a/main/network.c b/main/network.c index 781fb76c99..58ebadb55f 100644 --- a/main/network.c +++ b/main/network.c @@ -93,7 +93,7 @@ static int php_network_getaddresses(const char *host, struct sockaddr ***sal) sap = *sal; do { switch (sai->ai_family) { -# ifdef AF_INET6 +# ifdef HAVE_STRUCT_SOCKADDR_IN6 case AF_INET6: { *sap = emalloc(sizeof(struct sockaddr_in6)); if (*sap == NULL) { @@ -167,7 +167,7 @@ int php_hostconnect(char *host, unsigned short port, int socktype, int timeout) s = socket((*sal)->sa_family, socktype, 0); if (s != SOCK_ERR) { switch ((*sal)->sa_family) { -#if defined( HAVE_GETADDRINFO ) && defined( AF_INET6 ) +#if defined( HAVE_GETADDRINFO ) && defined( HAVE_STRUCT_SOCKADDR_IN6 ) case AF_INET6: { struct sockaddr_in6 *sa = (struct sockaddr_in6 *)*sal; -- 2.50.1