summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-04-13 09:03:22 -0400
committerRich Felker <dalias@aerifal.cx>2011-04-13 09:03:22 -0400
commit3f44f298e46b78cb8fe80be76798e799589ae55e (patch)
tree624294ec0131dae41839f72fa91900e706c7a439
parent0f5b43550c071832afd0c2e21e9c9fe9a2260ac6 (diff)
downloadmusl-3f44f298e46b78cb8fe80be76798e799589ae55e.tar.gz
fix prototypes/signature for setgroups, etc.
-rw-r--r--include/grp.h6
-rw-r--r--include/unistd.h2
-rw-r--r--src/linux/setgroups.c2
3 files changed, 8 insertions, 2 deletions
diff --git a/include/grp.h b/include/grp.h
index d4a3526a..51851851 100644
--- a/include/grp.h
+++ b/include/grp.h
@@ -28,6 +28,12 @@ struct group *getgrent(void);
void endgrent(void);
void setgrent(void);
+#ifdef _GNU_SOURCE
+int getgrouplist(const char *, gid_t, gid_t *, int *);
+int setgroups(size_t, const gid_t *);
+int initgroups(const char *, gid_t);
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/include/unistd.h b/include/unistd.h
index b8f783ed..05180de0 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -154,7 +154,7 @@ int getpagesize(void);
int sethostname(const char *, size_t);
int usleep(unsigned);
unsigned ualarm(unsigned, unsigned);
-int setgroups(int, const gid_t []);
+int setgroups(size_t, const gid_t []);
int setresuid(uid_t, uid_t, uid_t);
int setresgid(gid_t, gid_t, gid_t);
#endif
diff --git a/src/linux/setgroups.c b/src/linux/setgroups.c
index bdee58d5..9758940a 100644
--- a/src/linux/setgroups.c
+++ b/src/linux/setgroups.c
@@ -1,7 +1,7 @@
#include <unistd.h>
#include "syscall.h"
-int setgroups(int count, const gid_t list[])
+int setgroups(size_t count, const gid_t list[])
{
return syscall(SYS_setgroups, count, list);
}