From 56bec31c4117fddee3a141bcca6c585aa8ddbbe2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 14 Jul 2021 18:08:30 -0700
Subject: [PATCH] correct signature of closefrom() API

glibc 2.34 introduced this function and finds this error which has been
all along.

Upstream-Status: Pending

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 src/util/sys_compat.c |  6 +++---
 src/util/sys_defs.h   | 12 ++++++------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/util/sys_compat.c b/src/util/sys_compat.c
index 8bf8e58..c87f043 100644
--- a/src/util/sys_compat.c
+++ b/src/util/sys_compat.c
@@ -286,7 +286,7 @@ int     dup2_pass_on_exec(int oldd, int newd)
 
 /* closefrom() - closes all file descriptors from the given one up */
 
-int     closefrom(int lowfd)
+void     closefrom(int lowfd)
 {
     int     fd_limit = open_limit(0);
     int     fd;
@@ -298,14 +298,14 @@ int     closefrom(int lowfd)
      */
     if (lowfd < 0) {
 	errno = EBADF;
-	return (-1);
+	return;
     }
     if (fd_limit > 500)
 	fd_limit = 500;
     for (fd = lowfd; fd < fd_limit; fd++)
 	(void) close(fd);
 
-    return (0);
+    return;
 }
 
 #endif
diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h
index 2e1c953..515de6c 100644
--- a/src/util/sys_defs.h
+++ b/src/util/sys_defs.h
@@ -1509,7 +1509,7 @@ extern int setsid(void);
 #endif
 
 #ifndef HAS_CLOSEFROM
-extern int closefrom(int);
+extern void closefrom(int);
 
 #endif
 
@@ -1563,7 +1563,7 @@ typedef int pid_t;
 
  /*
   * Clang-style attribute tests.
-  * 
+  *
   * XXX Without the unconditional test below, gcc 4.6 will barf on ``elif
   * defined(__clang__) && __has_attribute(__whatever__)'' with error message
   * ``missing binary operator before token "("''.
@@ -1577,7 +1577,7 @@ typedef int pid_t;
   * warn for missing initializations and other trouble. However, OPENSTEP4
   * gcc 2.7.x cannot handle this so we define this only if NORETURN isn't
   * already defined above.
-  * 
+  *
   * Data point: gcc 2.7.2 has __attribute__ (Wietse Venema) but gcc 2.6.3 does
   * not (Clive Jones). So we'll set the threshold at 2.7.
   */
@@ -1653,12 +1653,12 @@ typedef int pid_t;
   * write to output parameters (for example, stat- or scanf-like functions)
   * or from functions that have other useful side effects (for example,
   * fseek- or rename-like functions).
-  * 
+  *
   * DO NOT use this for functions that write to a stream; it is entirely
   * legitimate to detect write errors with fflush() or fclose() only. On the
   * other hand most (but not all) functions that read from a stream must
   * never ignore result values.
-  * 
+  *
   * XXX Prepending "(void)" won't shut up GCC. Clang behaves as expected.
   */
 #if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3)
@@ -1739,7 +1739,7 @@ typedef const char *CONST_CHAR_STAR;
   * Safety. On some systems, ctype.h misbehaves with non-ASCII or negative
   * characters. More importantly, Postfix uses the ISXXX() macros to ensure
   * protocol compliance, so we have to rule out non-ASCII characters.
-  * 
+  *
   * XXX The (unsigned char) casts in isalnum() etc arguments are unnecessary
   * because the ISASCII() guard already ensures that the values are
   * non-negative; the casts are done anyway to shut up chatty compilers.
-- 
2.17.1

