12 ngroups = getgroups(0, NULL);
14 grps = (gid_t *)malloc(ngroups * sizeof(gid_t));
16 getgroups(ngroups, grps);
18 grp = getgrgid(getegid());
19 printf("%5d %s (primary)\n", getegid(), grp->gr_name);
21 for (i=0;i<ngroups;i++) {
22 grp = getgrgid(grps[i]);
23 printf("%5d %s\n", grps[i], grp?grp->gr_name:"<NULL>");