Lines Matching refs:pwd

34 #include <pwd.h>
203 struct passwd *pwd;
211 if ((pwd = getpwent()) == NULL)
213 pwds[npwds].pw_name = xstrdup(pwd->pw_name);
214 pwds[npwds].pw_passwd = xstrdup(pwd->pw_passwd);
215 pwds[npwds].pw_uid = pwd->pw_uid;
216 pwds[npwds].pw_gid = pwd->pw_gid;
217 pwds[npwds].pw_change = pwd->pw_change;
218 pwds[npwds].pw_class = xstrdup(pwd->pw_class);
219 pwds[npwds].pw_gecos = xstrdup(pwd->pw_gecos);
220 pwds[npwds].pw_dir = xstrdup(pwd->pw_dir);
221 pwds[npwds].pw_shell = xstrdup(pwd->pw_shell);
222 pwds[npwds].pw_expire = pwd->pw_expire;
234 struct xpasswd *pwd;
236 for (i = 0, pwd = pwds; i < npwds; ++i, ++pwd) {
238 pwd->pw_selected = 1;
242 if ((i > 0 && pwd->pw_uid == pwd[-1].pw_uid) ||
243 (i < npwds - 1 && pwd->pw_uid == pwd[1].pw_uid)) {
244 pwd->pw_selected = 1;
250 member(pwd->pw_name, grp->gr_mem)) {
251 pwd->pw_selected = 1;
255 if (pwd->pw_selected)
259 if (member(pwd->pw_name, l_args)) {
260 pwd->pw_selected = 1;
264 if (pwd->pw_passwd[0] == '\0') {
265 pwd->pw_selected = 1;
269 if (pwd->pw_uid < 1000 || pwd->pw_uid == 65534) {
270 pwd->pw_selected = 1;
274 if (pwd->pw_uid >= 1000 && pwd->pw_uid != 65534) {
275 pwd->pw_selected = 1;
291 display_user(struct xpasswd *pwd)
298 grp = find_group_bygid(pwd->pw_gid);
300 pwd->pw_name, (long)pwd->pw_uid, grp ? grp->gr_name : "",
301 (long)pwd->pw_gid, pwd->pw_gecos);
304 if (grp->gr_gid == pwd->pw_gid ||
305 !member(pwd->pw_name, grp->gr_mem))
312 printf(o_flag ? "%s:%s" : "%24s%s\n", "", pwd->pw_dir);
313 printf(o_flag ? "%s:%s" : "%24s%s\n", "", pwd->pw_shell);
316 tm = gmtime(&pwd->pw_change);
317 strftime(cbuf, sizeof(cbuf), pwd->pw_change ? "%F" : "0", tm);
318 tm = gmtime(&pwd->pw_expire);
319 strftime(ebuf, sizeof(ebuf), pwd->pw_expire ? "%F" : "0", tm);
329 struct xpasswd *pwd;
332 for (i = 0, pwd = pwds; i < npwds; ++i, ++pwd)
333 if (pwd->pw_selected)
334 display_user(pwd);