From 1e451ddc15af1a4e19318c8b1ced46c5c41610d3 Mon Sep 17 00:00:00 2001 From: Khem Raj 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 --- src/util/sys_compat.c | 6 +++--- src/util/sys_defs.h | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) --- a/src/util/sys_compat.c +++ b/src/util/sys_compat.c @@ -286,7 +286,7 @@ int dup2_pass_on_exec(int oldd, int /* 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 --- a/src/util/sys_defs.h +++ b/src/util/sys_defs.h @@ -1519,7 +1519,7 @@ extern int setsid(void); #endif #ifndef HAS_CLOSEFROM -extern int closefrom(int); +extern void closefrom(int); #endif @@ -1573,7 +1573,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 "("''. @@ -1587,7 +1587,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. */ @@ -1663,12 +1663,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) @@ -1749,7 +1749,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.