summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/getresuid.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common/getresuid.c')
-rw-r--r--libc/sysdeps/linux/common/getresuid.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/common/getresuid.c b/libc/sysdeps/linux/common/getresuid.c
index 98fdcc4cb..b8d1788f6 100644
--- a/libc/sysdeps/linux/common/getresuid.c
+++ b/libc/sysdeps/linux/common/getresuid.c
@@ -2,15 +2,22 @@
/*
* getresuid() for uClibc
*
- * Copyright (C) 2000-2004 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
*
- * GNU Library General Public License (LGPL) version 2 or later.
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/
#include "syscalls.h"
+#ifdef __USE_GNU
+#include <unistd.h>
-#ifdef __NR_getresuid
-#define __NR___syscall_getresuid __NR_getresuid
+#if defined(__NR_getresuid32)
+# undef __NR_getresuid
+# define __NR_getresuid __NR_getresuid32
+_syscall3(int, getresuid, uid_t *, ruid, uid_t *, euid, uid_t *, suid)
+
+#elif defined(__NR_getresuid)
+# define __NR___syscall_getresuid __NR_getresuid
static inline _syscall3(int, __syscall_getresuid, __kernel_uid_t *, ruid,
__kernel_uid_t *, euid, __kernel_uid_t *, suid);
@@ -28,3 +35,4 @@ int getresuid(uid_t * ruid, uid_t * euid, uid_t * suid)
return result;
}
#endif
+#endif