Lines Matching refs:pw

71 __pw_scan(char *bp, struct passwd *pw, int flags)  in __pw_scan()  argument
81 pw->pw_fields = 0; in __pw_scan()
82 if (!(pw->pw_name = strsep(&bp, ":"))) /* login */ in __pw_scan()
84 root = !strcmp(pw->pw_name, "root"); in __pw_scan()
85 if (pw->pw_name[0] && (pw->pw_name[0] != '+' || pw->pw_name[1] == '\0')) in __pw_scan()
86 pw->pw_fields |= _PWF_NAME; in __pw_scan()
88 if (!(pw->pw_passwd = strsep(&bp, ":"))) /* passwd */ in __pw_scan()
90 if (pw->pw_passwd[0]) in __pw_scan()
91 pw->pw_fields |= _PWF_PASSWD; in __pw_scan()
96 pw->pw_fields |= _PWF_UID; in __pw_scan()
98 if (pw->pw_name[0] != '+' && pw->pw_name[0] != '-') { in __pw_scan()
100 warnx("no uid for user %s", pw->pw_name); in __pw_scan()
126 pw->pw_uid = id; in __pw_scan()
131 pw->pw_fields |= _PWF_GID; in __pw_scan()
133 if (pw->pw_name[0] != '+' && pw->pw_name[0] != '-') { in __pw_scan()
135 warnx("no gid for user %s", pw->pw_name); in __pw_scan()
156 pw->pw_gid = id; in __pw_scan()
159 if (!(pw->pw_class = strsep(&bp, ":"))) /* class */ in __pw_scan()
161 if (pw->pw_class[0]) in __pw_scan()
162 pw->pw_fields |= _PWF_CLASS; in __pw_scan()
167 pw->pw_fields |= _PWF_CHANGE; in __pw_scan()
168 pw->pw_change = atol(p); in __pw_scan()
173 pw->pw_fields |= _PWF_EXPIRE; in __pw_scan()
174 pw->pw_expire = atol(p); in __pw_scan()
176 if (!(pw->pw_gecos = strsep(&bp, ":"))) /* gecos */ in __pw_scan()
178 if (pw->pw_gecos[0]) in __pw_scan()
179 pw->pw_fields |= _PWF_GECOS; in __pw_scan()
181 if (!(pw->pw_dir = strsep(&bp, ":"))) /* directory */ in __pw_scan()
183 if (pw->pw_dir[0]) in __pw_scan()
184 pw->pw_fields |= _PWF_DIR; in __pw_scan()
186 if (!(pw->pw_shell = strsep(&bp, ":"))) /* shell */ in __pw_scan()
189 p = pw->pw_shell; in __pw_scan()
203 pw->pw_fields |= _PWF_SHELL; in __pw_scan()