provide an internal namespace-safe __fstat
authorRich Felker <dalias@aerifal.cx>
Wed, 4 May 2022 14:51:00 +0000 (10:51 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 4 May 2022 14:51:00 +0000 (10:51 -0400)
this avoids the need for implementation-internal callers to depend on
the nonstandard AT_EMPTY_PATH extension to use __fstatat and isolates
knowledge of that extension to the implementation of __fstat.

src/include/sys/stat.h
src/stat/fstat.c

index 822888b..59339be 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "../../../include/sys/stat.h"
 
+hidden int __fstat(int, struct stat *);
 hidden int __fstatat(int, const char *restrict, struct stat *restrict, int);
 
 #endif
index 9bbb46d..27db0cc 100644 (file)
@@ -4,12 +4,14 @@
 #include <fcntl.h>
 #include "syscall.h"
 
-int fstat(int fd, struct stat *st)
+int __fstat(int fd, struct stat *st)
 {
        if (fd<0) return __syscall_ret(-EBADF);
-       return fstatat(fd, "", st, AT_EMPTY_PATH);
+       return __fstatat(fd, "", st, AT_EMPTY_PATH);
 }
 
+weak_alias(__fstat, fstat);
+
 #if !_REDIR_TIME64
 weak_alias(fstat, fstat64);
 #endif