From 2066d60b167854503fe5bd735042f9e67399ccf2 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Mon, 21 Jul 2008 14:01:46 +0000 Subject: [PATCH] use prototypes to improve getservbyport_r detection --- ares/acinclude.m4 | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/ares/acinclude.m4 b/ares/acinclude.m4 index bea042ea8..9eb8d0c07 100644 --- a/ares/acinclude.m4 +++ b/ares/acinclude.m4 @@ -2032,14 +2032,18 @@ AC_DEFUN([CARES_CHECK_GETSERVBYPORT_R], [ #ifdef HAVE_NETDB_H #include #endif + extern int + getservbyport_r(int, const char*, struct servent*, + struct servent_data*); ]],[[ - int p1, p5; - char *p2, p4[4096]; - struct servent *p3, *p6; - getservbyport_r(p1, p2, p3, p4, p5, &p6); + int p1, res; + char *p2; + struct servent *p3; + struct servent_data *p4; + res = getservbyport_r(p1, p2, p3, p4); ]]) ],[ - cares_cv_getservbyport_r_nargs="6" + cares_cv_getservbyport_r_nargs="4" ]) # if test "$cares_cv_getservbyport_r_nargs" = "unknown"; then @@ -2051,11 +2055,14 @@ AC_DEFUN([CARES_CHECK_GETSERVBYPORT_R], [ #ifdef HAVE_NETDB_H #include #endif + extern struct servent* + getservbyport_r(int, const char*, struct servent*, + char*, int); ]],[[ int p1, p5; char *p2, p4[4096]; - struct servent *p3; - getservbyport_r(p1, p2, p3, p4, p5); + struct servent *p3, res; + res = getservbyport_r(p1, p2, p3, p4, p5); ]]) ],[ cares_cv_getservbyport_r_nargs="5" @@ -2071,15 +2078,18 @@ AC_DEFUN([CARES_CHECK_GETSERVBYPORT_R], [ #ifdef HAVE_NETDB_H #include #endif + extern int + getservbyport_r(int, const char*, struct servent*, + char*, size_t, struct servent**); ]],[[ - int p1; - char *p2; - struct servent *p3; - struct servent_data p4; - getservbyport_r(p1, p2, p3, &p4); + int p1, res; + size_t p5; + char *p2, p4[4096]; + struct servent *p3, *p6; + res = getservbyport_r(p1, p2, p3, p4, p5, &p6); ]]) ],[ - cares_cv_getservbyport_r_nargs="4" + cares_cv_getservbyport_r_nargs="6" ]) fi #