Lines Matching defs:pwd

29 #include <pwd.h>
125 free_passwd(struct passwd *pwd)
127 free(pwd->pw_name);
128 free(pwd->pw_passwd);
129 free(pwd->pw_class);
130 free(pwd->pw_gecos);
131 free(pwd->pw_dir);
132 free(pwd->pw_shell);
136 sdump_passwd(struct passwd *pwd, char *buffer, size_t buflen)
139 pwd->pw_name, pwd->pw_passwd, pwd->pw_uid, pwd->pw_gid,
140 (uintmax_t)pwd->pw_change, pwd->pw_class, pwd->pw_gecos,
141 pwd->pw_dir, pwd->pw_shell, (uintmax_t)pwd->pw_expire,
142 pwd->pw_fields);
147 dump_passwd(struct passwd *pwd)
149 if (pwd != NULL) {
151 sdump_passwd(pwd, buffer, sizeof(buffer));
159 passwd_read_snapshot_func(struct passwd *pwd, char *line)
170 memset(pwd, 0, sizeof(struct passwd));
174 pwd->pw_name = strdup(s);
175 ATF_REQUIRE(pwd->pw_name != NULL);
178 pwd->pw_passwd = strdup(s);
179 ATF_REQUIRE(pwd->pw_passwd != NULL);
182 pwd->pw_uid = (uid_t)strtol(s, &ts, 10);
187 pwd->pw_gid = (gid_t)strtol(s, &ts, 10);
192 pwd->pw_change = (time_t)strtol(s, &ts, 10);
197 pwd->pw_class = strdup(s);
198 ATF_REQUIRE(pwd->pw_class != NULL);
201 pwd->pw_gecos = strdup(s);
202 ATF_REQUIRE(pwd->pw_gecos != NULL);
205 pwd->pw_dir = strdup(s);
206 ATF_REQUIRE(pwd->pw_dir != NULL);
209 pwd->pw_shell = strdup(s);
210 ATF_REQUIRE(pwd->pw_shell != NULL);
213 pwd->pw_expire = (time_t)strtol(s, &ts, 10);
218 pwd->pw_fields = (int)strtol(s, &ts, 10);
230 free_passwd(pwd);
231 memset(pwd, 0, sizeof(struct passwd));
242 struct passwd *pwd;
247 while ((pwd = getpwent()) != NULL) {
248 if (passwd_test_correctness(pwd, NULL) == 0) {
249 TEST_DATA_APPEND(passwd, td, pwd);
250 if (cb != NULL && cb(pwd, td) != 0)
264 passwd_test_correctness(struct passwd *pwd, void *mdata __unused)
269 dump_passwd(pwd);
272 if (pwd == NULL)
275 if (pwd->pw_name == NULL)
278 if (pwd->pw_passwd == NULL)
281 if (pwd->pw_class == NULL)
284 if (pwd->pw_gecos == NULL)
287 if (pwd->pw_dir == NULL)
290 if (pwd->pw_shell == NULL)
310 passwd_check_ambiguity(struct passwd_test_data *td, struct passwd *pwd)
313 return (TEST_DATA_FIND(passwd, td, pwd, compare_passwd, NULL) !=
320 struct passwd *pwd;
327 pwd = getpwnam(pwd_model->pw_name);
328 if (passwd_test_correctness(pwd, NULL) != 0)
331 if (compare_passwd(pwd, pwd_model, NULL) != 0 &&
332 passwd_check_ambiguity((struct passwd_test_data *)mdata, pwd) != 0)
350 struct passwd *pwd;
357 pwd = getpwuid(pwd_model->pw_uid);
358 if (passwd_test_correctness(pwd, NULL) != 0 ||
359 (compare_passwd(pwd, pwd_model, NULL) != 0 &&
361 pwd) != 0)) {
375 passwd_test_getpwent(struct passwd *pwd, void *mdata __unused)
381 return (passwd_test_correctness(pwd, NULL));