missing: add getdents64() syscall wrapper

glibc 2.30 (Aug 2019) added a wrapper for getdents64(). For older
versions let's define our own.

(This syscall exists since Linux 2.4, hence should be safe to use for
us)
This commit is contained in:
Lennart Poettering
2021-10-11 14:31:34 +02:00
parent b1967fb83a
commit aab35b1e59
2 changed files with 17 additions and 0 deletions
+16
View File
@@ -540,3 +540,19 @@ static inline int missing_move_mount(
# define move_mount missing_move_mount
#endif
/* ======================================================================= */
#if !HAVE_GETDENTS64
static inline ssize_t missing_getdents64(int fd, void *buffer, size_t length) {
# if defined __NR_getdents64 && __NR_getdents64 >= 0
return syscall(__NR_getdents64, fd, buffer, length);
# else
errno = ENOSYS;
return -1;
# endif
}
# define getdents64 missing_getdents64
#endif