From 6fc3936fcb9319c407ee94ab10f6fa1ece244958 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Sun, 17 Jul 2005 00:18:58 +0000 Subject: [PATCH] Check a few possibilities for socklen_t (fixes SF#1236456). git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1452 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 6 ++++++ configure.in | 27 ++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2219f05..96e23aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-07-16 Michael Poole + + * configure.in: Apply a test for socklen_t that Reed found. + + * configure: Regenerate. + 2005-07-16 Michael Poole * RELEASE.NOTES: Mention that 2.10.11 does not support oplevels. diff --git a/configure.in b/configure.in index cbcc5fe..e893d33 100644 --- a/configure.in +++ b/configure.in @@ -74,10 +74,35 @@ AC_HEADER_TIME AC_STRUCT_TM AC_TYPE_UID_T unet_CHECK_TYPE_SIZES -AC_CHECK_TYPE(socklen_t, unsigned int) AC_CHECK_TYPE(struct sockaddr_in6, [unet_have_sockaddr_in6="yes"], [unet_have_sockaddr_in6="no"], [#include #include ]) +dnl Check for socklen_t. In traditional BSD this is an int, but some +dnl OSes use a different type. Test until we find something that will +dnl work properly. Test borrowed from a patch submitted for Python. +AC_CHECK_TYPE([socklen_t], ,[ + AC_MSG_CHECKING([for socklen_t equivalent]) + AC_CACHE_VAL([curl_cv_socklen_t_equiv], + [ +dnl Systems have either "struct sockaddr*" or "void*" as second +dnl arg to getpeername. + curl_cv_socklen_t_equiv= + for arg2 in "struct sockaddr" void ; do + for t in int size_t unsigned long "unsigned long" ; do + AC_TRY_COMPILE([#include +#include +int getpeername (int $arg2 *, $t *);],[$t len; + getpeername(0, 0, &len);], [curl_cv_socklen_t_equiv="$t" + break]) + done + done + ]) + AC_MSG_RESULT($curl_cv_socklen_t_equiv) + AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined])], + [#include +#include]) + dnl Checks for library functions. AC_CHECK_FUNCS([kqueue setrlimit getrusage times]) -- 2.20.1