No real changes, just avoid warnings from autoconf 2.71 when regenerating configure. Note that double brackets must be used around any code using brackets to preserve them during the expansion.
78 lines
2.7 KiB
Text
78 lines
2.7 KiB
Text
dnl @synopsis AC_raf_FUNC_WHICH_GETSERVBYNAME_R
|
|
dnl
|
|
dnl Provides a test to determine the correct way to call
|
|
dnl getservbyname_r:
|
|
dnl
|
|
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_6 if it needs 6 arguments (e.g. linux)
|
|
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_5 if it needs 5 arguments (e.g. solaris)
|
|
dnl - defines HAVE_FUNC_GETSERVBYNAME_R_4 if it needs 4 arguments (e.g. osf/1)
|
|
dnl
|
|
dnl An example use can be found at
|
|
dnl http://raf.org/autoconf/net_getservbyname.c
|
|
dnl
|
|
dnl Based on Caolan McNamara's gethostbyname_r macro. Based on David
|
|
dnl Arnold's autoconf suggestion in the threads faq.
|
|
dnl
|
|
dnl @category Misc
|
|
dnl @author raf <raf@raf.org>
|
|
dnl @version 2001-08-20
|
|
dnl @license GPLWithACException
|
|
|
|
AC_DEFUN([AC_raf_FUNC_WHICH_GETSERVBYNAME_R],
|
|
[
|
|
AC_CACHE_CHECK(how many arguments getservbyname_r() takes,
|
|
ac_cv_func_which_getservbyname_r,
|
|
[
|
|
dnl we need to use C++ to detect missing prototypes
|
|
AC_LANG_PUSH(C++)
|
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>], [
|
|
[
|
|
char *name;
|
|
char *proto;
|
|
struct servent *se, *res;
|
|
char buffer[2048];
|
|
int buflen = 2048;
|
|
(void) getservbyname_r(name, proto, se, buffer, buflen, &res)
|
|
]])],
|
|
ac_cv_func_which_getservbyname_r=six,
|
|
[
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>], [
|
|
[
|
|
char *name;
|
|
char *proto;
|
|
struct servent *se;
|
|
char buffer[2048];
|
|
int buflen = 2048;
|
|
(void) getservbyname_r(name, proto, se, buffer, buflen)
|
|
]])],
|
|
ac_cv_func_which_getservbyname_r=five,
|
|
[
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>],
|
|
[
|
|
char *name;
|
|
char *proto;
|
|
struct servent *se;
|
|
struct servent_data data;
|
|
(void) getservbyname_r(name, proto, se, &data);
|
|
])],
|
|
ac_cv_func_which_getservbyname_r=four,
|
|
ac_cv_func_which_getservbyname_r=no
|
|
)
|
|
]
|
|
)
|
|
]
|
|
)
|
|
AC_LANG_POP()
|
|
]
|
|
)
|
|
|
|
if test $ac_cv_func_which_getservbyname_r = six; then
|
|
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_6)
|
|
elif test $ac_cv_func_which_getservbyname_r = five; then
|
|
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_5)
|
|
elif test $ac_cv_func_which_getservbyname_r = four; then
|
|
AC_DEFINE(HAVE_FUNC_GETSERVBYNAME_R_4)
|
|
fi
|
|
|
|
])
|