From ec940d4d5a9302acd80613cfd8bc86c790c76f71 Mon Sep 17 00:00:00 2001 From: foobar Date: Thu, 14 Jul 2005 00:12:26 +0000 Subject: - Fixed cacheing bug in PHP_SOCKADDR_SA_LEN macro - Removed duplicate sa_len check from configure.in - Unified the sockaddr tests into PHP_SOCKADDR_CHECKS macro --- acinclude.m4 | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'acinclude.m4') diff --git a/acinclude.m4 b/acinclude.m4 index 7d045e88fb..ee046bab7f 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1482,17 +1482,29 @@ AC_DEFUN([PHP_SYS_LFS], ]) dnl -dnl PHP_SOCKADDR_SA_LEN +dnl PHP_SOCKADDR_CHECKS dnl -AC_DEFUN([PHP_SOCKADDR_SA_LEN],[ +AC_DEFUN([PHP_SOCKADDR_CHECKS], [ + dnl Check for struct sockaddr_storage exists + AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_sockaddr_storage, + [AC_TRY_COMPILE([#include +#include ], + [struct sockaddr_storage s; s], + [ac_cv_sockaddr_storage=yes], [ac_cv_sockaddr_storage=no]) + ]) + if test "$ac_cv_sockaddr_storage" = "yes"; then + AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1, [Whether you have struct sockaddr_storage]) + fi + dnl Check if field sa_len exists in struct sockaddr AC_CACHE_CHECK([for field sa_len in struct sockaddr],ac_cv_sockaddr_sa_len,[ AC_TRY_COMPILE([#include #include ], - [struct sockaddr s; s.sa_len;], - [ac_cv_sockaddr_sa_len=yes - AC_DEFINE(HAVE_SOCKADDR_SA_LEN,1,[ ])], - [ac_cv_sockaddr_sa_len=no]) + [static struct sockaddr sa; int n = (int) sa.sa_len; return n;], + [ac_cv_sockaddr_sa_len=yes], [ac_cv_sockaddr_sa_len=no]) ]) + if test "$ac_cv_sockaddr_sa_len" = "yes"; then + AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Whether struct sockaddr has field sa_len]) + fi ]) dnl -- cgit v1.2.1