blob: 22d4e92b796a6487707f70c48c4fa583a4ebcaaa [file] [log] [blame]
#include "pwf.h"
static FILE* f;
static char* line;
static struct passwd pw;
static size_t size;
void setpwent() {
if (f)
fclose(f);
f = 0;
}
weak_alias(setpwent, endpwent);
struct passwd* getpwent() {
struct passwd* res;
if (!f)
f = fopen("/etc/passwd", "rbe");
if (!f)
return 0;
__getpwent_a(f, &pw, &line, &size, &res);
return res;
}
struct passwd* getpwuid(uid_t uid) {
struct passwd* res;
__getpw_a(0, uid, &pw, &line, &size, &res);
return res;
}
struct passwd* getpwnam(const char* name) {
struct passwd* res;
__getpw_a(name, 0, &pw, &line, &size, &res);
return res;
}