diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2005-08-28 14:59:48 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2005-08-28 14:59:48 +0000 |
commit | 865694ffd4df6b32eb81722fa6b851fb73a45271 (patch) | |
tree | fbd23e8c979e1159aeaebe58209690493be08506 | |
parent | e073fea25d254e62b2d3cf607bdbbb5104ca9778 (diff) | |
download | fetchmail-865694ffd4df6b32eb81722fa6b851fb73a45271.tar.gz fetchmail-865694ffd4df6b32eb81722fa6b851fb73a45271.tar.bz2 fetchmail-865694ffd4df6b32eb81722fa6b851fb73a45271.zip |
Add gethostbyname_r argument determination macro from libesmtp
svn path=/trunk/; revision=4279
-rw-r--r-- | m4/gethostbyname_r.m4 | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/m4/gethostbyname_r.m4 b/m4/gethostbyname_r.m4 new file mode 100644 index 00000000..18fb325d --- /dev/null +++ b/m4/gethostbyname_r.m4 @@ -0,0 +1,68 @@ +dnl @synopsis ACX_WHICH_GETHOSTBYNAME_R +dnl +dnl Provides a test to determine the correct way to call gethostbyname_r +dnl +dnl defines HAVE_GETHOSTBYNAME_R to the number of arguments required +dnl +dnl e.g. 6 arguments (linux) +dnl e.g. 5 arguments (solaris) +dnl e.g. 3 arguments (osf/1) +dnl +dnl @version $Id: acinclude.m4,v 1.6 2001/10/17 07:19:14 brian Exp $ +dnl @author Brian Stafford <brian@stafford.uklinux.net> +dnl +dnl based on version by Caolan McNamara <caolan@skynet.ie> +dnl based on David Arnold's autoconf suggestion in the threads faq +dnl +AC_DEFUN([ACX_WHICH_GETHOSTBYNAME_R], +[AC_CACHE_CHECK(number of arguments to gethostbyname_r, + acx_which_gethostbyname_r, [ + AC_TRY_COMPILE([ +# include <netdb.h> + ], [ + + char *name; + struct hostent *he; + struct hostent_data data; + (void) gethostbyname_r(name, he, &data); + + ],acx_which_gethostbyname_r=3, + [ +dnl acx_which_gethostbyname_r=0 + AC_TRY_COMPILE([ +# include <netdb.h> + ], [ + char *name; + struct hostent *he, *res; + char *buffer = NULL; + int buflen = 2048; + int h_errnop; + (void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop) + ],acx_which_gethostbyname_r=6, + + [ +dnl acx_which_gethostbyname_r=0 + AC_TRY_COMPILE([ +# include <netdb.h> + ], [ + char *name; + struct hostent *he; + char *buffer = NULL; + int buflen = 2048; + int h_errnop; + (void) gethostbyname_r(name, he, buffer, buflen, &h_errnop) + ],acx_which_gethostbyname_r=5,acx_which_gethostbyname_r=0) + + ] + + ) + ] + ) + ]) + +if test $acx_which_gethostbyname_r -gt 0 ; then + AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME_R], $acx_which_gethostbyname_r, + [Number of parameters to gethostbyname_r or 0 if not available]) +fi + +]) |