Lines Matching defs:grp

37 #include <grp.h>
46 struct carg *arg, struct group *grp);
47 static int print_group(struct group * grp, int pretty);
57 struct group *grp = NULL;
88 while ((grp = GETGRENT()) != NULL)
89 print_group(grp, pretty);
97 if (mode != M_ADD && grp == NULL && isdigit((unsigned char)*a_name->val)) {
102 grp = (a_name != NULL) ? GETGRNAM(a_name->val) : GETGRGID((gid_t) atoi(a_gid->val));
105 if (a_name == NULL && grp == NULL) /* Try harder */
106 grp = GETGRGID(atoi(a_gid->val));
108 if (grp == NULL) {
120 a_name = addarg(args, 'n', grp->gr_name);
126 gid_t gid = grp->gr_gid;
128 rc = delgrent(grp);
130 err(EX_IOERR, "group '%s' not available (NIS?)", grp->gr_name);
138 return print_group(grp, getarg(args, 'P') != NULL);
141 grp->gr_gid = (gid_t) atoi(a_gid->val);
144 grp->gr_name = pw_checkname((u_char *)arg->val, 0);
148 else if (grp != NULL) /* Exists */
153 grp = &fakegroup;
154 grp->gr_name = pw_checkname((u_char *)a_name->val, 0);
155 grp->gr_passwd = "*";
156 grp->gr_gid = gr_gidpolicy(cnf, args);
157 grp->gr_mem = members;
170 grp->gr_passwd = "*"; /* No access */
188 printf("%sassword for group %s:", (mode == M_UPDATE) ? "New p" : "P", grp->gr_name);
210 grp->gr_passwd = line;
212 grp->gr_passwd = pw_pwcrypt(line);
226 delete_members(&members, &grmembers, &i, arg, grp);
230 while (grp->gr_mem[k] != NULL) {
232 members[i++] = grp->gr_mem[k];
252 grp->gr_mem = members;
256 return print_group(grp, getarg(args, 'P') != NULL);
258 if (mode == M_ADD && (rc = addgrent(grp)) != 0) {
260 warnx("group '%s' already exists", grp->gr_name);
264 } else if (mode == M_UPDATE && (rc = chggrent(a_name->val, grp)) != 0) {
266 warnx("group '%s' not available (NIS?)", grp->gr_name);
271 /* grp may have been invalidated */
272 if ((grp = GETGRNAM(a_name->val)) == NULL)
275 pw_log(cnf, mode, W_GROUP, "%s(%ld)", grp->gr_name, (long) grp->gr_gid);
305 struct group *grp)
315 while (grp->gr_mem[k] != NULL) {
322 if (strcmp(grp->gr_mem[k], pwd->pw_name) == 0) {
331 (*members)[(*i)++] = grp->gr_mem[k];
343 struct group *grp;
353 if ((grp = GETGRGID(gid)) != NULL && getarg(args, 'o') == NULL)
354 errx(EX_DATAERR, "gid `%ld' has already been allocated", (long) grp->gr_gid);
373 while ((grp = GETGRENT()) != NULL)
374 if ((gid_t)grp->gr_gid >= (gid_t)cnf->min_gid &&
375 (gid_t)grp->gr_gid <= (gid_t)cnf->max_gid)
376 bm_setbit(&bm, grp->gr_gid - cnf->min_gid);
404 print_group(struct group * grp, int pretty)
409 buf = gr_make(grp);
417 grp->gr_name, (long) grp->gr_gid);
418 for (i = 0; grp->gr_mem[i]; i++)
419 printf("%s%s", i ? "," : "", grp->gr_mem[i]);