use fstatat, not fstatat64

the stat64 family of functions were provided as transitional functions,
but when building on glibc with _GNU_SOURCE, or any other supported system,
the stat functions are equivalent to their stat64 counterparts
cute-signatures
Ariadne Conill 2021-12-27 13:57:13 -06:00 committed by Timo Teräs
parent 336a133b76
commit 2a9c0277c0
2 changed files with 5 additions and 5 deletions

View File

@ -1338,12 +1338,12 @@ static void handle_alarm(int sig)
static char *find_mountpoint(int atfd, const char *rel_path) static char *find_mountpoint(int atfd, const char *rel_path)
{ {
struct mntent *me; struct mntent *me;
struct stat64 st; struct stat st;
FILE *f; FILE *f;
char *ret = NULL; char *ret = NULL;
dev_t dev; dev_t dev;
if (fstatat64(atfd, rel_path, &st, 0) != 0) if (fstatat(atfd, rel_path, &st, 0) != 0)
return NULL; return NULL;
dev = st.st_dev; dev = st.st_dev;
@ -1353,7 +1353,7 @@ static char *find_mountpoint(int atfd, const char *rel_path)
while ((me = getmntent(f)) != NULL) { while ((me = getmntent(f)) != NULL) {
if (strcmp(me->mnt_fsname, "rootfs") == 0) if (strcmp(me->mnt_fsname, "rootfs") == 0)
continue; continue;
if (fstatat64(atfd, me->mnt_dir, &st, 0) == 0 && if (fstatat(atfd, me->mnt_dir, &st, 0) == 0 &&
st.st_dev == dev) { st.st_dev == dev) {
ret = strdup(me->mnt_dir); ret = strdup(me->mnt_dir);
break; break;

View File

@ -755,7 +755,7 @@ void apk_fileinfo_hash_xattr(struct apk_file_info *fi, uint8_t alg)
int apk_fileinfo_get(int atfd, const char *filename, unsigned int flags, int apk_fileinfo_get(int atfd, const char *filename, unsigned int flags,
struct apk_file_info *fi, struct apk_atom_pool *atoms) struct apk_file_info *fi, struct apk_atom_pool *atoms)
{ {
struct stat64 st; struct stat st;
unsigned int hash_alg = flags & 0xff; unsigned int hash_alg = flags & 0xff;
unsigned int xattr_hash_alg = (flags >> 8) & 0xff; unsigned int xattr_hash_alg = (flags >> 8) & 0xff;
int atflags = 0; int atflags = 0;
@ -766,7 +766,7 @@ int apk_fileinfo_get(int atfd, const char *filename, unsigned int flags,
if (flags & APK_FI_NOFOLLOW) if (flags & APK_FI_NOFOLLOW)
atflags |= AT_SYMLINK_NOFOLLOW; atflags |= AT_SYMLINK_NOFOLLOW;
if (fstatat64(atfd, filename, &st, atflags) != 0) if (fstatat(atfd, filename, &st, atflags) != 0)
return -errno; return -errno;
*fi = (struct apk_file_info) { *fi = (struct apk_file_info) {