aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/fxstat.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-08-21 09:57:15 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-08-21 09:57:15 -0700
commite5dee2c896f04d88defdfa00282fa83f5f4004d8 (patch)
treecaebcffacffc0363dc418694eba18b2ce6b8617b /sysdeps/unix/sysv/linux/fxstat.c
parent8c7c251746ce41779637c83e3b35639517f728d5 (diff)
downloadglibc-e5dee2c896f04d88defdfa00282fa83f5f4004d8.tar
glibc-e5dee2c896f04d88defdfa00282fa83f5f4004d8.tar.gz
glibc-e5dee2c896f04d88defdfa00282fa83f5f4004d8.tar.bz2
glibc-e5dee2c896f04d88defdfa00282fa83f5f4004d8.zip
Revert "Add INLINE_SYSCALL_RETURN/INLINE_SYSCALL_ERROR_RETURN"
This reverts commit 0c5b8b5941e036dcaac69cecee9f01fdf9218e6e.
Diffstat (limited to 'sysdeps/unix/sysv/linux/fxstat.c')
-rw-r--r--sysdeps/unix/sysv/linux/fxstat.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/sysdeps/unix/sysv/linux/fxstat.c b/sysdeps/unix/sysv/linux/fxstat.c
index e81dc3f2b4..8d8c4e182a 100644
--- a/sysdeps/unix/sysv/linux/fxstat.c
+++ b/sysdeps/unix/sysv/linux/fxstat.c
@@ -36,21 +36,20 @@ int
__fxstat (int vers, int fd, struct stat *buf)
{
if (vers == _STAT_VER_KERNEL)
- return INLINE_SYSCALL_RETURN (fstat, 2, fd,
- (struct kernel_stat *) buf);
+ return INLINE_SYSCALL (fstat, 2, fd, (struct kernel_stat *) buf);
#ifdef STAT_IS_KERNEL_STAT
- return INLINE_SYSCALL_ERROR_RETURN (-EINVAL, int, -1);
+ errno = EINVAL;
+ return -1;
#else
struct kernel_stat kbuf;
- INTERNAL_SYSCALL_DECL (err);
- int result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf);
- if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err)))
- return INLINE_SYSCALL_ERROR_RETURN (-INTERNAL_SYSCALL_ERRNO (result,
- err),
- int, -1);
- else
- return __xstat_conv (vers, &kbuf, buf);
+ int result;
+
+ result = INLINE_SYSCALL (fstat, 2, fd, &kbuf);
+ if (result == 0)
+ result = __xstat_conv (vers, &kbuf, buf);
+
+ return result;
#endif
}