X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fstat%2Ffstat.c;h=9bbb46decb03579c89ceb8ce3ffafcf31724263b;hb=3b7b4155570b4b9054465785be2992c92cb7d7b1;hp=b5611767b6b8499ba7b03f9e033bb8421bc23ec2;hpb=65ea604c74f3fecbc61a266a22fdf527764995b6;p=musl diff --git a/src/stat/fstat.c b/src/stat/fstat.c index b5611767..9bbb46de 100644 --- a/src/stat/fstat.c +++ b/src/stat/fstat.c @@ -1,20 +1,15 @@ +#define _BSD_SOURCE #include #include #include #include "syscall.h" -#include "libc.h" - -void __procfdname(char *, unsigned); int fstat(int fd, struct stat *st) { - int ret = __syscall(SYS_fstat, fd, st); - if (ret != -EBADF || __syscall(SYS_fcntl, fd, F_GETFD) < 0) - return __syscall_ret(ret); - - char buf[15+3*sizeof(int)]; - __procfdname(buf, fd); - return syscall(SYS_stat, buf, st); + if (fd<0) return __syscall_ret(-EBADF); + return fstatat(fd, "", st, AT_EMPTY_PATH); } -LFS64(fstat); +#if !_REDIR_TIME64 +weak_alias(fstat, fstat64); +#endif