blob: f415f9932c75e66f2e2de34416fde0cffdd1e37c [file] [log] [blame]
#include "pwf.h"
static FILE* f;
static char *line, **mem;
static struct group gr;
void setgrent() {
if (f)
fclose(f);
f = 0;
}
weak_alias(setgrent, endgrent);
struct group* getgrent() {
struct group* res;
size_t size = 0, nmem = 0;
if (!f)
f = fopen("/etc/group", "rbe");
if (!f)
return 0;
__getgrent_a(f, &gr, &line, &size, &mem, &nmem, &res);
return res;
}
struct group* getgrgid(gid_t gid) {
struct group* res;
size_t size = 0, nmem = 0;
__getgr_a(0, gid, &gr, &line, &size, &mem, &nmem, &res);
return res;
}
struct group* getgrnam(const char* name) {
struct group* res;
size_t size = 0, nmem = 0;
__getgr_a(name, 0, &gr, &line, &size, &mem, &nmem, &res);
return res;
}