initgroups.c raw

   1  #define _GNU_SOURCE
   2  #include <grp.h>
   3  #include <limits.h>
   4  
   5  int initgroups(const char *user, gid_t gid)
   6  {
   7  	gid_t groups[NGROUPS_MAX];
   8  	int count = NGROUPS_MAX;
   9  	if (getgrouplist(user, gid, groups, &count) < 0) return -1;
  10  	return setgroups(count, groups);
  11  }
  12