فهرست منبع

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.
Rich Felker 2 سال پیش
والد
کامیت
c9ba0769a7
2فایلهای تغییر یافته به همراه11 افزوده شده و 1 حذف شده
  1. 8 0
      src/include/sys/stat.h
  2. 3 1
      src/stat/fstatat.c

+ 8 - 0
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

+ 3 - 1
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