use __fstat instead of __fstatat with AT_EMPTY_PATH in __map_file

this isolates knowledge of the nonstandard AT_EMPTY_PATH extension to
one place and returns __map_file to its prior simplicity.
This commit is contained in:
Rich Felker 2022-05-04 10:53:01 -04:00
parent 05a55868ff
commit 6e9d2370c7

View File

@ -1,4 +1,3 @@
#define _BSD_SOURCE
#include <sys/mman.h>
#include <fcntl.h>
#include <sys/stat.h>
@ -10,7 +9,7 @@ const char unsigned *__map_file(const char *pathname, size_t *size)
const unsigned char *map = MAP_FAILED;
int fd = sys_open(pathname, O_RDONLY|O_CLOEXEC|O_NONBLOCK);
if (fd < 0) return 0;
if (!__fstatat(fd, "", &st, AT_EMPTY_PATH)) {
if (!__fstat(fd, &st)) {
map = __mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
*size = st.st_size;
}