github.com/afumu/libc@v0.0.6/musl/src/passwd/getpwent.c (about) 1 #include "pwf.h" 2 3 static FILE *f; 4 static char *line; 5 static struct passwd pw; 6 static size_t size; 7 8 void setpwent() 9 { 10 if (f) fclose(f); 11 f = 0; 12 } 13 14 weak_alias(setpwent, endpwent); 15 16 struct 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 25 struct passwd *getpwuid(uid_t uid) 26 { 27 struct passwd *res; 28 __getpw_a(0, uid, &pw, &line, &size, &res); 29 return res; 30 } 31 32 struct passwd *getpwnam(const char *name) 33 { 34 struct passwd *res; 35 __getpw_a(name, 0, &pw, &line, &size, &res); 36 return res; 37 }