From dda4dd513f225cd6ea82fa6d556a0fdaac16c2ab Mon Sep 17 00:00:00 2001 From: Jaco Kroon <jaco@uls.co.za> Date: Wed, 10 May 2023 23:13:17 +0200 Subject: [PATCH] configure: fix test code to match gethostbyname_r prototype. This enables the test to work with CC=clang. Without this the test for 6 args would fail with: utils.c:99:12: error: static declaration of 'gethostbyname_r' follows non-static declaration static int gethostbyname_r (const char *name, struct hostent *ret, char *buf, ^ /usr/include/netdb.h:177:12: note: previous declaration is here extern int gethostbyname_r (const char *__restrict __name, ^ Fixing the expected return type to int sorts this out. Signed-off-by: Jaco Kroon <jaco@uls.co.za> (cherry picked from commit f178bf78b79cd874f95fd163328cf02ae9815844) --- configure | 4 ++-- configure.ac | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure index d44095dda6..893886cd51 100755 --- a/configure +++ b/configure @@ -17596,7 +17596,7 @@ $as_echo_n "checking for gethostbyname_r with 6 arguments... " >&6; } int main () { -struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL); +int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL); ; return 0; } @@ -17624,7 +17624,7 @@ $as_echo_n "checking for gethostbyname_r with 5 arguments... " >&6; } int main () { -struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL); +int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL); ; return 0; } diff --git a/configure.ac b/configure.ac index 642d2749f0..8d2ca5ae0f 100644 --- a/configure.ac +++ b/configure.ac @@ -963,7 +963,7 @@ if test "x$have_gethostbyname_r_public_declaration" = "xyes"; then AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include <stdlib.h> #include <netdb.h>], - [struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);])], + [int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (struct hostent **)NULL, (int *)NULL);])], AC_MSG_RESULT(yes) AC_DEFINE([HAVE_GETHOSTBYNAME_R_6], 1, [Define to 1 if your system has gethostbyname_r with 6 arguments.]), AC_MSG_RESULT(no) @@ -973,7 +973,7 @@ if test "x$have_gethostbyname_r_public_declaration" = "xyes"; then AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include <stdlib.h> #include <netdb.h>], - [struct hostent *he = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);])], + [int r = gethostbyname_r((const char *)NULL, (struct hostent *)NULL, (char *)NULL, (int)0, (int *)NULL);])], AC_MSG_RESULT(yes) AC_DEFINE([HAVE_GETHOSTBYNAME_R_5], 1, [Define to 1 if your system has gethostbyname_r with 5 arguments.]), AC_MSG_RESULT(no)