select: overhaul for time64
[musl.git] / src / passwd / getgrent.c
blob835b9ab5a22a7edf8b906d547626cdcaeff1d8e1
1 #include "pwf.h"
3 static FILE *f;
4 static char *line, **mem;
5 static struct group gr;
7 void setgrent()
9 if (f) fclose(f);
10 f = 0;
13 weak_alias(setgrent, endgrent);
15 struct group *getgrent()
17 struct group *res;
18 size_t size=0, nmem=0;
19 if (!f) f = fopen("/etc/group", "rbe");
20 if (!f) return 0;
21 __getgrent_a(f, &gr, &line, &size, &mem, &nmem, &res);
22 return res;
25 struct group *getgrgid(gid_t gid)
27 struct group *res;
28 size_t size=0, nmem=0;
29 __getgr_a(0, gid, &gr, &line, &size, &mem, &nmem, &res);
30 return res;
33 struct group *getgrnam(const char *name)
35 struct group *res;
36 size_t size=0, nmem=0;
37 __getgr_a(name, 0, &gr, &line, &size, &mem, &nmem, &res);
38 return res;