summaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2008-07-21 14:01:46 +0000
committerYang Tse <yangsita@gmail.com>2008-07-21 14:01:46 +0000
commit14cb127954b513d7d9b6548156db4b623ead3fdd (patch)
treedf0dd4abd50de1be87be0369b598757a6c3a3f23 /acinclude.m4
parentd7c09173d3260a74de620f774b398ffef3838737 (diff)
downloadc-ares-14cb127954b513d7d9b6548156db4b623ead3fdd.tar.gz
c-ares-14cb127954b513d7d9b6548156db4b623ead3fdd.tar.bz2
c-ares-14cb127954b513d7d9b6548156db4b623ead3fdd.zip
use prototypes to improve getservbyport_r detection
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m436
1 files changed, 23 insertions, 13 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index bea042e..9eb8d0c 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -2032,14 +2032,18 @@ AC_DEFUN([CARES_CHECK_GETSERVBYPORT_R], [
#ifdef HAVE_NETDB_H
#include <netdb.h>
#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 <netdb.h>
#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 <netdb.h>
#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
#