1#include "pwf.h" 2 3static FILE *f; 4static char *line, **mem; 5static struct group gr; 6 7void setgrent() 8{ 9 if (f) fclose(f); 10 f = 0; 11} 12 13weak_alias(setgrent, endgrent); 14 15struct group *getgrent() 16{ 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; 23} 24 25struct group *getgrgid(gid_t gid) 26{ 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; 31} 32 33struct group *getgrnam(const char *name) 34{ 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; 39} 40