diff options
Diffstat (limited to 'libc/sysdeps/linux/common/setresuid.c')
-rw-r--r-- | libc/sysdeps/linux/common/setresuid.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/common/setresuid.c b/libc/sysdeps/linux/common/setresuid.c index ce3737bfc..883d7a952 100644 --- a/libc/sysdeps/linux/common/setresuid.c +++ b/libc/sysdeps/linux/common/setresuid.c @@ -11,18 +11,21 @@ #ifdef __USE_GNU #include <unistd.h> -libc_hidden_proto(setresuid) - #if defined(__NR_setresuid32) # undef __NR_setresuid # define __NR_setresuid __NR_setresuid32 + +libc_hidden_proto(setresuid) _syscall3(int, setresuid, uid_t, ruid, uid_t, euid, uid_t, suid) +libc_hidden_def(setresuid) #elif defined(__NR_setresuid) + # define __NR___syscall_setresuid __NR_setresuid static inline _syscall3(int, __syscall_setresuid, __kernel_uid_t, rgid, __kernel_uid_t, egid, __kernel_uid_t, sgid); +libc_hidden_proto(setresuid) int setresuid(uid_t ruid, uid_t euid, uid_t suid) { if (((ruid + 1) > (uid_t) ((__kernel_uid_t) - 1U)) @@ -33,7 +36,8 @@ int setresuid(uid_t ruid, uid_t euid, uid_t suid) } return (__syscall_setresuid(ruid, euid, suid)); } +libc_hidden_def(setresuid) + #endif -libc_hidden_def(setresuid) #endif |