diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/getgrgid.c')
-rw-r--r-- | mdk-stage1/dietlibc/libcruft/getgrgid.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/getgrgid.c b/mdk-stage1/dietlibc/libcruft/getgrgid.c index 0c223056c..c0daac5e0 100644 --- a/mdk-stage1/dietlibc/libcruft/getgrgid.c +++ b/mdk-stage1/dietlibc/libcruft/getgrgid.c @@ -1,14 +1,11 @@ #include <grp.h> #include <string.h> -#include <stdlib.h> + +extern struct group __group_pw; +extern char __group_buf[1000]; struct group *getgrgid(gid_t gid) { struct group *tmp; - setgrent(); - for (;;) { - tmp=getgrent(); - if (!tmp) return 0; - if (tmp->gr_gid == gid) - return tmp; - } + getgrgid_r(gid,&__group_pw,__group_buf,sizeof(__group_buf),&tmp); + return tmp; } |