]> granicus.if.org Git - php/commitdiff
Better IPv6 checking
authorStig Venaas <venaas@php.net>
Thu, 7 Sep 2000 17:56:12 +0000 (17:56 +0000)
committerStig Venaas <venaas@php.net>
Thu, 7 Sep 2000 17:56:12 +0000 (17:56 +0000)
configure.in
main/network.c

index 3f51ef89165680fd408b375665df62f60913519e..72dc9e75f9bc8c46304d03b1738274d47ac5abd3 100644 (file)
@@ -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 <sys/socket.h>
+#include <netinet/in.h>], [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(
index 781fb76c994b0767368eaa698b99646ca84f98e6..58ebadb55f74491fc9431d5089102f8a409e42a8 100644 (file)
@@ -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;