Lines Matching defs:pwbuf
65 struct pwbuf {
90 struct pwbuf *pwbuf;
94 *buf = calloc(1, sizeof (struct pwbuf));
95 pwbuf = (struct pwbuf *)*buf;
96 if (pwbuf == NULL)
113 if (pwbuf->pwd == NULL)
114 pwbuf->pwd = (struct passwd *)
116 if (pwbuf->pwd == NULL) {
118 if (pwbuf->spwd)
119 free(pwbuf->spwd);
135 if (pwbuf->spwd == NULL)
136 pwbuf->spwd = (struct spwd *)
138 if (pwbuf->spwd == NULL) {
140 if (pwbuf->pwd)
141 free(pwbuf->pwd);
158 if (pwbuf->pwd) {
159 if ((pwbuf->pwd_scratch = malloc(PWD_SCRATCH_SIZE)) == NULL) {
163 if (getpwnam_r(name, pwbuf->pwd, pwbuf->pwd_scratch,
170 if (pwbuf->spwd) {
171 if ((pwbuf->spwd_scratch = malloc(SPW_SCRATCH_SIZE)) == NULL) {
175 if (getspnam_r(name, pwbuf->spwd, pwbuf->spwd_scratch,
182 /* pwbuf->rep_name tells us where the user in fact comes from */
190 pwbuf->rep_name = "files";
192 pwbuf->rep_name = "ldap";
194 pwbuf->rep_name = "nis";
196 pwbuf->rep_name = "nss";
198 pwbuf->rep_name = "nss";
202 if (pwbuf->pwd) free(pwbuf->pwd);
203 if (pwbuf->pwd_scratch) free(pwbuf->pwd_scratch);
204 if (pwbuf->spwd) free(pwbuf->spwd);
205 if (pwbuf->spwd_scratch) free(pwbuf->spwd_scratch);
206 free(pwbuf);
221 struct pwbuf *pwbuf;
227 res = nss_getpwnam(name, items, rep, (void **)&pwbuf);
231 pw = pwbuf->pwd;
232 spw = pwbuf->spwd;
270 if ((w->data.val_s = strdup(pwbuf->rep_name)) == NULL)
310 if (pwbuf->pwd) free(pwbuf->pwd);
311 if (pwbuf->pwd_scratch) free(pwbuf->pwd_scratch);
312 if (pwbuf->spwd) free(pwbuf->spwd);
313 if (pwbuf->spwd_scratch) free(pwbuf->spwd_scratch);
314 free(pwbuf);