diff --git a/config.h.in b/config.h.in index e4cdc9b9df..009515ef7f 100644 --- a/config.h.in +++ b/config.h.in @@ -16,7 +16,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: config.h.in,v 1.118 2009/09/01 00:22:24 jinmei Exp $ */ +/* $Id: config.h.in,v 1.119 2009/09/01 17:54:16 jinmei Exp $ */ /*! \file */ @@ -298,6 +298,9 @@ int sigwait(const unsigned int *set, int *sig); /* Define to the flags type used by getnameinfo(3). */ #undef IRS_GETNAMEINFO_FLAGS_T +/* Define to the return type of gai_strerror(3). */ +#undef IRS_GAISTRERROR_RETURN_T + /* Define if connect does not honour the permission on the UNIX domain socket. */ #undef NEED_SECURE_DIRECTORY diff --git a/configure.in b/configure.in index 7f5bd3c135..11e79a334d 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl esyscmd([sed "s/^/# /" COPYRIGHT])dnl AC_DIVERT_POP()dnl -AC_REVISION($Revision: 1.474 $) +AC_REVISION($Revision: 1.475 $) AC_INIT(lib/dns/name.c) AC_PREREQ(2.59) @@ -1876,6 +1876,22 @@ int getnameinfo(const struct sockaddr *, socklen_t, char *, AC_DEFINE(IRS_GETNAMEINFO_BUFLEN_T, socklen_t) AC_DEFINE(IRS_GETNAMEINFO_FLAGS_T, int)])]) +# +# ...and same for gai_strerror(). +# +AC_MSG_CHECKING(for gai_strerror prototype definitions) +AC_TRY_COMPILE([ +#include +#include +#include +char *gai_strerror(int ecode);], +[ return (0); ], + [AC_MSG_RESULT(returning char *) + AC_DEFINE([IRS_GAISTRERROR_RETURN_T], [char *], + [return type of gai_srerror])], +[AC_MSG_RESULT(not match any subspecies; assume standard definition)]) +AC_DEFINE([IRS_GAISTRERROR_RETURN_T], [const char *]) + AC_CHECK_FUNC(getipnodebyname, [ISC_LWRES_GETIPNODEPROTO="#undef ISC_LWRES_GETIPNODEPROTO"], [ISC_LWRES_GETIPNODEPROTO="#define ISC_LWRES_GETIPNODEPROTO 1"]) diff --git a/lib/irs/gai_strerror.c b/lib/irs/gai_strerror.c index edae6613a8..df8bf024d4 100644 --- a/lib/irs/gai_strerror.c +++ b/lib/irs/gai_strerror.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: gai_strerror.c,v 1.3 2009/09/01 03:43:27 jinmei Exp $ */ +/* $Id: gai_strerror.c,v 1.4 2009/09/01 17:54:16 jinmei Exp $ */ /*! \file gai_strerror.c * gai_strerror() returns an error message corresponding to an @@ -78,7 +78,7 @@ static const char *gai_messages[] = { * Returns an error message corresponding to an error code returned by * getaddrinfo() and getnameinfo() */ -const char * +IRS_GAISTRERROR_RETURN_T gai_strerror(int ecode) { union { const char *const_ptr;