Lines Matching defs:grp
30 #include <grp.h>
115 free_group(struct group *grp)
119 ATF_REQUIRE(grp != NULL);
121 free(grp->gr_name);
122 free(grp->gr_passwd);
124 for (cp = grp->gr_mem; *cp; ++cp)
126 free(grp->gr_mem);
171 sdump_group(struct group *grp, char *buffer, size_t buflen)
177 grp->gr_name, grp->gr_passwd, grp->gr_gid);
183 if (grp->gr_mem != NULL) {
184 if (*(grp->gr_mem) != NULL) {
185 for (cp = grp->gr_mem; *cp; ++cp) {
187 cp == grp->gr_mem ? "" : ",", *cp);
203 group_read_snapshot_func(struct group *grp, char *line)
216 memset(grp, 0, sizeof(struct group));
220 grp->gr_name = strdup(s);
221 ATF_REQUIRE(grp->gr_name != NULL);
225 grp->gr_passwd = strdup(s);
226 ATF_REQUIRE(grp->gr_passwd != NULL);
230 grp->gr_gid = (gid_t)strtol(s, &ts, 10);
232 free(grp->gr_name);
233 free(grp->gr_passwd);
234 grp->gr_name = NULL;
235 grp->gr_passwd = NULL;
266 free(grp->gr_name);
267 free(grp->gr_passwd);
268 memset(grp, 0, sizeof(struct group));
273 grp->gr_mem = sl->sl_str;
295 struct group *grp;
300 while ((grp = getgrent()) != NULL) {
301 if (group_test_correctness(grp, NULL) == 0) {
302 TEST_DATA_APPEND(group, td, grp);
303 if (cb != NULL && cb(grp, td) != 0)
317 group_test_correctness(struct group *grp, void *mdata __unused)
320 dump_group(grp);
322 if (grp == NULL)
325 if (grp->gr_name == NULL)
328 if (grp->gr_passwd == NULL)
331 if (grp->gr_mem == NULL)
357 struct group *grp;
362 grp = getgrnam(grp_model->gr_name);
363 if (group_test_correctness(grp, NULL) != 0)
366 if (compare_group(grp, grp_model, NULL) != 0 &&
367 group_check_ambiguity((struct group_test_data *)mdata, grp) != 0)
379 struct group *grp;
384 grp = getgrgid(grp_model->gr_gid);
385 if (group_test_correctness(grp, NULL) != 0 ||
386 (compare_group(grp, grp_model, NULL) != 0 &&
387 group_check_ambiguity((struct group_test_data *)mdata, grp) != 0))
394 group_test_getgrent(struct group *grp, void *mdata __unused)
400 return (group_test_correctness(grp, NULL));