Lines Matching refs:pw
61 static int display(const char *tfn, struct passwd *pw);
62 static struct passwd *verify(const char *tfn, struct passwd *pw);
65 edit(const char *tfn, struct passwd *pw)
71 if (display(tfn, pw) == -1)
78 return (pw_dup(pw));
82 if ((npw = verify(tfn, pw)) != NULL)
102 display(const char *tfn, struct passwd *pw)
113 "#Changing user information for %s.\n", pw->pw_name);
115 (void)fprintf(fp, "Login: %s\n", pw->pw_name);
116 (void)fprintf(fp, "Password: %s\n", pw->pw_passwd);
117 (void)fprintf(fp, "Uid [#]: %lu\n", (unsigned long)pw->pw_uid);
119 (unsigned long)pw->pw_gid);
121 ttoa(pw->pw_change));
123 ttoa(pw->pw_expire));
124 (void)fprintf(fp, "Class: %s\n", pw->pw_class);
125 (void)fprintf(fp, "Home directory: %s\n", pw->pw_dir);
127 *pw->pw_shell ? pw->pw_shell : _PATH_BSHELL);
131 else if (ok_shell(pw->pw_shell))
137 else if ((!list[E_SHELL].restricted && ok_shell(pw->pw_shell)) ||
145 *pw->pw_shell ? pw->pw_shell : _PATH_BSHELL);
149 if ((bp = gecos = strdup(pw->pw_gecos)) == NULL) {
192 verify(const char *tfn, struct passwd *pw)
202 if ((pw = pw_dup(pw)) == NULL)
207 free(pw);
213 free(pw);
254 if ((ep->func)(val, pw, ep))
268 free(pw);
273 pw->pw_gecos = p;
274 buf = pw_make(pw);
275 free(pw);
285 free(pw);