refactor all stat functions in terms of fstatat
equivalent logic for fstat+O_PATH fallback and direct use of stat/lstat syscalls where appropriate is kept, now in the fstatat function. this change both improves functionality (now, fstatat forms equivalent to fstat/lstat/stat will work even on kernels too old to have the at functions) and localizes direct interfacing with the kernel stat structure to one file.
This commit is contained in:
+1
-5
@@ -4,11 +4,7 @@
|
||||
|
||||
int stat(const char *restrict path, struct stat *restrict buf)
|
||||
{
|
||||
#ifdef SYS_stat
|
||||
return syscall(SYS_stat, path, buf);
|
||||
#else
|
||||
return syscall(SYS_fstatat, AT_FDCWD, path, buf, 0);
|
||||
#endif
|
||||
return fstatat(AT_FDCWD, path, buf, 0);
|
||||
}
|
||||
|
||||
weak_alias(stat, stat64);
|
||||
|
||||
Reference in New Issue
Block a user