diff options
Diffstat (limited to 'src/grp/getgrgid.c')
| -rw-r--r-- | src/grp/getgrgid.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/grp/getgrgid.c b/src/grp/getgrgid.c index 0d39ffc2..af10469c 100644 --- a/src/grp/getgrgid.c +++ b/src/grp/getgrgid.c @@ -1,10 +1,20 @@ #include "sys/types.h" #include <grp.h> -#include "stddef.h" +#include "_grp.h" struct group * getgrgid(gid_t gid) { - (void)gid; + struct group *grp = NULL; + setgrent(); + + while ((grp = getgrent()) != NULL) { + if (grp->gr_gid == gid) { + endgrent(); + return grp; + } + } + + endgrent(); return NULL; } |
