Lines Matching refs:grps
155 gid_t *grps;
219 if ((grps = malloc(sizeof(gid_t) * ngrps_max)) == NULL)
221 if ((ngrps = getgroups(ngrps_max, (gid_t *)grps)) < 0) {
227 if (grp->gr_gid != egid && inarray(grp->gr_gid, grps, ngrps)) {
229 if (grps[i] == grp->gr_gid)
232 memmove(&grps[i], &grps[i + 1], (ngrps - i) * sizeof(gid_t));
234 if (setgroups(ngrps, (const gid_t *)grps) < 0) {
249 grps[0] = grp->gr_gid;
252 if (egid != grp->gr_gid && !inarray(egid, grps, ngrps)) {
256 grps[ngrps++] = egid;
258 if (setgroups(ngrps, (const gid_t *)grps)) {
268 free(grps);
272 inarray(gid_t gid, const gid_t grps[], int ngrps)
277 if (grps[i] == gid)