1229675Sadrian#include "pwf.h" 2229675Sadrian 3229675Sadrianstatic FILE *f; 4229675Sadrianstatic char *line; 5229675Sadrianstatic struct passwd pw; 6229675Sadrianstatic size_t size; 7229675Sadrian 8229675Sadrianvoid setpwent() 9229675Sadrian{ 10239884Sadrian if (f) fclose(f); 11239884Sadrian f = 0; 12239884Sadrian} 13229675Sadrian 14229675Sadrianweak_alias(setpwent, endpwent); 15229675Sadrian 16struct passwd *getpwent() 17{ 18 struct passwd *res; 19 if (!f) f = fopen("/etc/passwd", "rbe"); 20 if (!f) return 0; 21 __getpwent_a(f, &pw, &line, &size, &res); 22 return res; 23} 24 25struct passwd *getpwuid(uid_t uid) 26{ 27 struct passwd *res; 28 __getpw_a(0, uid, &pw, &line, &size, &res); 29 return res; 30} 31 32struct passwd *getpwnam(const char *name) 33{ 34 struct passwd *res; 35 __getpw_a(name, 0, &pw, &line, &size, &res); 36 return res; 37} 38