xref: /plan9-contrib/sys/src/ape/lib/ap/plan9/getgrgid.c (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1 #include <stddef.h>
2 #include <grp.h>
3 
4 extern int _getpw(int *, char **, char **);
5 extern char **_grpmems(char *);
6 
7 static struct group holdgroup;
8 
9 struct group *
getgrgid(gid_t gid)10 getgrgid(gid_t gid)
11 {
12 	int num;
13 	char *nam, *mem;
14 
15 	num = gid;
16 	nam = 0;
17 	mem = 0;
18 	if(_getpw(&num, &nam, &mem)){
19 		holdgroup.gr_name = nam;
20 		holdgroup.gr_gid = num;
21 		holdgroup.gr_mem = _grpmems(mem);
22 		return &holdgroup;
23 	}
24 	return NULL;
25 }
26