diff options
author | Rich Felker <dalias@aerifal.cx> | 2022-04-28 02:14:34 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2022-05-01 23:25:21 -0400 |
commit | c9ba0769a749e4e08fd8a8815b8ced96fba4927b (patch) | |
tree | 2e2ec7fdaffb7779b45d2d70298659a7cc2821f1 /src | |
parent | 7edbcbeb76cb46381c34e2c0491dcc459cd5fa46 (diff) | |
download | musl-c9ba0769a749e4e08fd8a8815b8ced96fba4927b.tar.gz musl-c9ba0769a749e4e08fd8a8815b8ced96fba4927b.tar.xz musl-c9ba0769a749e4e08fd8a8815b8ced96fba4927b.zip |
provide an internal namespace-safe __fstatat
this makes it so we can drop direct stat syscall use in interfaces that can't use the POSIX namespace.
Diffstat (limited to 'src')
-rw-r--r-- | src/include/sys/stat.h | 8 | ||||
-rw-r--r-- | src/stat/fstatat.c | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/include/sys/stat.h b/src/include/sys/stat.h new file mode 100644 index 00000000..822888b2 --- /dev/null +++ b/src/include/sys/stat.h @@ -0,0 +1,8 @@ +#ifndef SYS_STAT_H +#define SYS_STAT_H + +#include "../../../include/sys/stat.h" + +hidden int __fstatat(int, const char *restrict, struct stat *restrict, int); + +#endif diff --git a/src/stat/fstatat.c b/src/stat/fstatat.c index de165b5c..cf11a294 100644 --- a/src/stat/fstatat.c +++ b/src/stat/fstatat.c @@ -131,7 +131,7 @@ static int fstatat_kstat(int fd, const char *restrict path, struct stat *restric return 0; } -int fstatat(int fd, const char *restrict path, struct stat *restrict st, int flag) +int __fstatat(int fd, const char *restrict path, struct stat *restrict st, int flag) { int ret; if (sizeof((struct kstat){0}.st_atime_sec) < sizeof(time_t)) { @@ -142,6 +142,8 @@ int fstatat(int fd, const char *restrict path, struct stat *restrict st, int fla return __syscall_ret(ret); } +weak_alias(__fstatat, fstatat); + #if !_REDIR_TIME64 weak_alias(fstatat, fstatat64); #endif |