aboutsummaryrefslogtreecommitdiff
path: root/io/fstatat64.c
diff options
context:
space:
mode:
Diffstat (limited to 'io/fstatat64.c')
-rw-r--r--io/fstatat64.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/io/fstatat64.c b/io/fstatat64.c
index 0e0312f..3b5a752 100644
--- a/io/fstatat64.c
+++ b/io/fstatat64.c
@@ -16,12 +16,26 @@
<https://www.gnu.org/licenses/>. */
#include <sys/stat.h>
+#include <errno.h>
-#undef __fstatat64
int
__fstatat64 (int fd, const char *file, struct stat64 *buf, int flag)
{
- return __fxstatat64 (_STAT_VER, fd, file, buf, flag);
+ if (fd < 0 && fd != AT_FDCWD)
+ {
+ __set_errno (EBADF);
+ return -1;
+ }
+ if (buf == NULL || (flag & ~AT_SYMLINK_NOFOLLOW) != 0)
+ {
+ __set_errno (EINVAL);
+ return -1;
+ }
+
+ __set_errno (ENOSYS);
+ return -1;
}
hidden_def (__fstatat64)
weak_alias (__fstatat64, fstatat64)
+
+stub_warning (fstatat64)