github.com/afumu/libc@v0.0.6/musl/src/passwd/getgrent.c (about) 1 #include "pwf.h" 2 3 static FILE *f; 4 static char *line, **mem; 5 static struct group gr; 6 7 void setgrent() 8 { 9 if (f) fclose(f); 10 f = 0; 11 } 12 13 weak_alias(setgrent, endgrent); 14 15 struct 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 25 struct 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 33 struct 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 }