NGROUPS_MAX
#ifndef NGROUPS_MAX /* Disable groupaccess if NGROUP_MAX is not set */
# define getgroups(a,b) ((a)==0 && (b)==NULL ? NGROUPS_MAX : getgroups((a),(b)))
ngroups = NGROUPS_MAX;
ngroups = MAX(NGROUPS_MAX, sysconf(_SC_NGROUPS_MAX));
gid_t gids[NGROUPS_MAX];
if ((len = getgroups(NGROUPS_MAX, gids)) < 0)
0, NGROUPS_MAX, "Maximum number of groups a user can belong to");
#define NGROUPS NGROUPS_MAX /* max number groups */
gid_t grps[NGROUPS_MAX];
if ((ngrps = getgroups(NGROUPS_MAX, (gid_t *)grps)) < 0) {
if (ngrps == NGROUPS_MAX)
(p = strsep(&grouplist, ",")) != NULL && gids < NGROUPS_MAX; ) {
if (p != NULL && gids == NGROUPS_MAX)
gid_t gid, gidlist[NGROUPS_MAX];