From 588f79e557cd66ef77c90378a997b0d377af9db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tatuya=20JINMEI=20=E7=A5=9E=E6=98=8E=E9=81=94=E5=93=89?= Date: Tue, 1 Sep 2009 17:54:16 +0000 Subject: [PATCH] fixed build error on hpux due to gai_strerror() prototype mismatch [RT #20194] --- config.h.in | 5 ++++- configure.in | 18 +++++++++++++++++- lib/irs/gai_strerror.c | 4 ++-- 3 files changed, 23 insertions(+), 4 deletions(-) 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;