blob: 06c19f2eb854847c69953950cc4d8252903ed7b5 [file] [log] [blame]
#include "pwf.h"
static FILE* f;
static char *line, **mem;
static struct group gr;
void setgrent(void) {
if (f)
fclose(f);
f = 0;
}
weak_alias(setgrent, endgrent);
struct group* getgrent(void) {
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;
}