1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
From 79468a12c3533720c938731a8b7728ba4ff5a326 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>
---
configure | 4 ++--
configure.ac | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index bf78e2aade..b046dfc755 100755
--- a/configure
+++ b/configure
@@ -17537,7 +17537,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;
}
@@ -17565,7 +17565,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 ab6632beac..aeec352054 100644
--- a/configure.ac
+++ b/configure.ac
@@ -962,7 +962,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)
@@ -972,7 +972,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)
--
2.39.3
|