github.com/afumu/libc@v0.0.6/musl/src/misc/initgroups.c (about)

     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  }