2 * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
4 * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
11 #include <sys/types.h>
12 #include <sys/syscall.h>
15 #if !defined __UCLIBC_LINUX_SPECIFIC__
17 #undef __NR_setresgid32
20 int setegid(gid_t gid
)
24 if (gid
== (gid_t
) ~0)
30 #if (defined __NR_setresgid || defined __NR_setresgid32) && defined __USE_GNU
31 result
= setresgid(-1, gid
, -1);
32 if (result
== -1 && errno
== ENOSYS
)
33 /* Will also set the saved group ID if egid != gid,
34 * making it impossible to switch back...*/
36 result
= setregid(-1, gid
);