aboutsummaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2001-10-04 14:05:12 +0000
committerDaniel Stenberg <daniel@haxx.se>2001-10-04 14:05:12 +0000
commitc3363f833c47090368eac566bfcb9c48dec42f6a (patch)
treeb223f26763ed186be3848083d7e0d7f6b4e653d6 /acinclude.m4
parent47def8091c645f13499e82f02c466c30e846a506 (diff)
Albert Chin's improved gethostbyname_r() tests
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m465
1 files changed, 18 insertions, 47 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 874a85d4c..eb0b2c497 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -246,7 +246,6 @@ AC_DEFUN(CURL_CHECK_INET_NTOA_R,
AC_DEFINE(NEED_REENTRANT)
AC_MSG_RESULT(yes)],
AC_MSG_RESULT(no))])])
-
])
AC_DEFUN(CURL_CHECK_GETHOSTBYADDR_R,
@@ -324,8 +323,6 @@ rc = gethostbyaddr_r(address, length, type, &h,
ac_cv_gethostbyaddr_args=8],[
AC_MSG_RESULT(no)
have_missing_r_funcs="$have_missing_r_funcs gethostbyaddr_r"])])])])])
-
-
])
AC_DEFUN(CURL_CHECK_GETHOSTBYNAME_R,
@@ -333,28 +330,21 @@ AC_DEFUN(CURL_CHECK_GETHOSTBYNAME_R,
dnl check for number of arguments to gethostbyname_r. it might take
dnl either 3, 5, or 6 arguments.
AC_CHECK_FUNCS(gethostbyname_r,[
- AC_MSG_CHECKING(if gethostbyname_r takes 3 arguments)
- AC_TRY_RUN([
+ AC_MSG_CHECKING([if gethostbyname_r takes 3 arguments])
+ AC_TRY_COMPILE([
#include <string.h>
#include <sys/types.h>
#include <netdb.h>
int
-main () {
-struct hostent h;
-struct hostent_data hdata;
-char *name = "localhost";
-int rc;
-memset(&h, 0, sizeof(struct hostent));
-memset(&hdata, 0, sizeof(struct hostent_data));
-rc = gethostbyname_r(name, &h, &hdata);
-exit (rc != 0 ? 1 : 0); }],[
+gethostbyname_r(const char *, struct hostent *, struct hostent_data *);],[
+gethostbyname_r(NULL, NULL, NULL);],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3)
ac_cv_gethostbyname_args=3],[
AC_MSG_RESULT(no)
- AC_MSG_CHECKING(if gethostbyname_r with -D_REENTRANT takes 3 arguments)
- AC_TRY_RUN([
+ AC_MSG_CHECKING([if gethostbyname_r with -D_REENTRANT takes 3 arguments])
+ AC_TRY_COMPILE([
#define _REENTRANT
#include <string.h>
@@ -362,53 +352,34 @@ exit (rc != 0 ? 1 : 0); }],[
#include <netdb.h>
int
-main () {
-struct hostent h;
-struct hostent_data hdata;
-char *name = "localhost";
-int rc;
-memset(&h, 0, sizeof(struct hostent));
-memset(&hdata, 0, sizeof(struct hostent_data));
-rc = gethostbyname_r(name, &h, &hdata);
-exit (rc != 0 ? 1 : 0); }],[
+gethostbyname_r(const char *,struct hostent *, struct hostent_data *);],[
+gethostbyname_r(NULL, NULL, NULL);],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3)
AC_DEFINE(NEED_REENTRANT)
ac_cv_gethostbyname_args=3],[
AC_MSG_RESULT(no)
- AC_MSG_CHECKING(if gethostbyname_r takes 5 arguments)
- AC_TRY_RUN([
+ AC_MSG_CHECKING([if gethostbyname_r takes 5 arguments])
+ AC_TRY_COMPILE([
#include <sys/types.h>
#include <netdb.h>
-int
-main () {
-struct hostent *hp;
-struct hostent h;
-char *name = "localhost";
-char buffer[8192];
-int h_errno;
-hp = gethostbyname_r(name, &h, buffer, 8192, &h_errno);
-exit (hp == NULL ? 1 : 0); }],[
+struct hostent *
+gethostbyname_r(const char *, struct hostent *, char *, int, int *);],[
+gethostbyname_r(NULL, NULL, NULL, 0, NULL);],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GETHOSTBYNAME_R_5)
ac_cv_gethostbyname_args=5],[
AC_MSG_RESULT(no)
- AC_MSG_CHECKING(if gethostbyname_r takes 6 arguments)
- AC_TRY_RUN([
+ AC_MSG_CHECKING([if gethostbyname_r takes 6 arguments])
+ AC_TRY_COMPILE([
#include <sys/types.h>
#include <netdb.h>
int
-main () {
-struct hostent h;
-struct hostent *hp;
-char *name = "localhost";
-char buf[8192];
-int rc;
-int h_errno;
-rc = gethostbyname_r(name, &h, buf, 8192, &hp, &h_errno);
-exit (rc != 0 ? 1 : 0); }],[
+gethostbyname_r(const char *, struct hostent *, char *, size_t,
+struct hostent **, int *);],[
+gethostbyname_r(NULL, NULL, NULL, 0, NULL, NULL);],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_GETHOSTBYNAME_R_6)
ac_cv_gethostbyname_args=6],[