From f15aa3a552022743398a652165d76bf912c715e5 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 14 May 2001 13:47:49 +0000 Subject: Initial revision --- mdk-stage1/dietlibc/libcruft/initgroups.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 mdk-stage1/dietlibc/libcruft/initgroups.c (limited to 'mdk-stage1/dietlibc/libcruft/initgroups.c') diff --git a/mdk-stage1/dietlibc/libcruft/initgroups.c b/mdk-stage1/dietlibc/libcruft/initgroups.c new file mode 100644 index 000000000..7d24866e9 --- /dev/null +++ b/mdk-stage1/dietlibc/libcruft/initgroups.c @@ -0,0 +1,23 @@ +#include +#include +#include + +int initgroups(const char *user, gid_t group) { + int n=0; + gid_t grouplist[32]; + struct group *g; + setgrent(); + while ((g=getgrent())) { + char **duh=g->gr_mem; + while (*duh) { + if (!strcmp(*duh,user)) { + grouplist[n]=g->gr_gid; + if (++n>=32) + break; + } + duh++; + } + } + return setgroups(n,grouplist); +} + -- cgit v1.2.1