getgrnam.c 413 B

12345678910111213141516171819202122232425
  1. #include <stddef.h>
  2. #include <grp.h>
  3. extern int _getpw(int *, char **, char **);
  4. extern char **_grpmems(char *);
  5. static struct group holdgroup;
  6. struct group *
  7. getgrnam(const char *name)
  8. {
  9. int num;
  10. char *nam, *mem;
  11. num = 0;
  12. nam = name;
  13. mem = 0;
  14. if(_getpw(&num, &nam, &mem)){
  15. holdgroup.gr_name = nam;
  16. holdgroup.gr_gid = num;
  17. holdgroup.gr_mem = _grpmems(mem);
  18. return &holdgroup;
  19. }
  20. return NULL;
  21. }