summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--acconfig.h1
-rw-r--r--bsd-rresvport.c2
-rw-r--r--bsd-rresvport.h2
-rw-r--r--configure.in15
-rw-r--r--defines.h5
6 files changed, 28 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index af56ec53..23e96956 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+20000623
+ - (djm) Use sa_family_t in prototype for rresvport_af. Patch from
+ Svante Signell <svante.signell@telia.com>
+ - (djm) Autoconf logic to define sa_family_t if it is missing
+
20000622
- (djm) Automatically generate host key during "make install". Suggested
by Gary E. Miller <gem@rellim.com>
diff --git a/acconfig.h b/acconfig.h
index 6e92e962..9b8c3f23 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -158,6 +158,7 @@
#undef HAVE_SSIZE_T
#undef HAVE_MODE_T
#undef HAVE_PID_T
+#undef HAVE_SA_FAMILY_T
#undef HAVE_STRUCT_SOCKADDR_STORAGE
#undef HAVE_STRUCT_ADDRINFO
#undef HAVE_STRUCT_IN6_ADDR
diff --git a/bsd-rresvport.c b/bsd-rresvport.c
index 99c150e0..fa4af183 100644
--- a/bsd-rresvport.c
+++ b/bsd-rresvport.c
@@ -55,7 +55,7 @@ rresvport(alport)
int
rresvport_af(alport, af)
int *alport;
- int af;
+ sa_family_t af;
{
struct sockaddr_storage ss;
struct sockaddr *sa;
diff --git a/bsd-rresvport.h b/bsd-rresvport.h
index 69d6bbd9..d139895e 100644
--- a/bsd-rresvport.h
+++ b/bsd-rresvport.h
@@ -4,7 +4,7 @@
#include "config.h"
#ifndef HAVE_RRESVPORT_AF
-int rresvport_af(int *alport, int af);
+int rresvport_af(int *alport, sa_family_t af);
#endif /* !HAVE_RRESVPORT_AF */
#endif /* _BSD_RRESVPORT_H */
diff --git a/configure.in b/configure.in
index 2ae0d21c..d9a87d8e 100644
--- a/configure.in
+++ b/configure.in
@@ -502,6 +502,21 @@ if test "x$ac_cv_have_ssize_t" = "xyes" ; then
AC_DEFINE(HAVE_SSIZE_T)
fi
+AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [
+ AC_TRY_COMPILE(
+ [
+#include <sys/types.h>
+#include <sys/socket.h>
+ ],
+ [ sa_family_t foo; foo = 1235; ],
+ [ ac_cv_have_sa_family_t="yes" ],
+ [ ac_cv_have_sa_family_t="no" ]
+ )
+])
+if test "x$ac_cv_have_sa_family_t" = "xyes" ; then
+ AC_DEFINE(HAVE_SA_FAMILY_T)
+fi
+
AC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [
AC_TRY_COMPILE(
[
diff --git a/defines.h b/defines.h
index 974f1bad..23e00d1a 100644
--- a/defines.h
+++ b/defines.h
@@ -187,6 +187,11 @@ typedef int ssize_t;
# define HAVE_SSIZE_T
#endif /* HAVE_SSIZE_T */
+#ifndef HAVE_SA_FAMILY_T
+typedef int sa_family_t;
+# define HAVE_SA_FAMILY_T
+#endif /* HAVE_SA_FAMILY_T */
+
#ifndef HAVE_PID_T
typedef int pid_t;
# define HAVE_PID_T