[openssh-commits] [openssh] 01/02: If we have nfds_t, check if it's int or long.

git+noreply at mindrot.org git+noreply at mindrot.org
Fri Oct 17 16:39:42 AEDT 2025


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit a6503f1e22aa34ac08d5b4d2b6730954ffd30116
Author: Darren Tucker <dtucker at dtucker.net>
AuthorDate: Fri Oct 17 16:23:43 2025 +1100

    If we have nfds_t, check if it's int or long.
    
    Should fix build on very old Mac OS X, eg 10.3.  Spotted and patch tested
    by Sevan Janiyan.
---
 configure.ac              | 18 ++++++++++++++++++
 openbsd-compat/bsd-poll.h |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/configure.ac b/configure.ac
index db5211013..916ba032e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3773,6 +3773,24 @@ AC_CHECK_TYPES([nfds_t], , , [
 #endif
 ])
 
+if test "x$ac_cv_type_nfds_t" != "xyes"; then
+	AC_MSG_CHECKING([if poll nfds_t is unsigned long])
+	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif
+#ifdef HAVE_SYS_POLL_H
+#include <sys/poll.h>
+#endif
+	    int poll(struct pollfd *, unsigned long, int timeout);
+	    ]], [[return poll(0, 0, 0);]])],
+	    [AC_MSG_RESULT([yes])
+	     AC_DEFINE(POLL_NFDS_T_ULONG, 1, [Define if poll 2nd arg is ulong])],
+	    [AC_MSG_RESULT([no])]
+	)
+fi
+
 # Decide which sandbox style to use
 sandbox_arg=""
 AC_ARG_WITH([sandbox],
diff --git a/openbsd-compat/bsd-poll.h b/openbsd-compat/bsd-poll.h
index 67fd8c66f..bebd5d87d 100644
--- a/openbsd-compat/bsd-poll.h
+++ b/openbsd-compat/bsd-poll.h
@@ -72,7 +72,11 @@ typedef struct pollfd {
 #endif /* !HAVE_STRUCT_POLLFD_FD */
 
 #ifndef HAVE_NFDS_T
+# ifdef POLL_NFDS_T_ULONG
+typedef unsigned long	nfds_t;
+# else
 typedef unsigned int	nfds_t;
+# endif
 #endif
 
 #ifndef HAVE_POLL

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list