+#define _BSD_SOURCE
#include <sys/stat.h>
+#include <errno.h>
+#include <fcntl.h>
#include "syscall.h"
-#include "libc.h"
-int fstat(int fd, struct stat *buf)
+int fstat(int fd, struct stat *st)
{
- return syscall2(__NR_fstat64, fd, (long)buf);
+ if (fd<0) return __syscall_ret(-EBADF);
+ return fstatat(fd, "", st, AT_EMPTY_PATH);
}
-LFS64(fstat);
+weak_alias(fstat, fstat64);