summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libcruft/getgrnam.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/getgrnam.c')
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrnam.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam.c b/mdk-stage1/dietlibc/libcruft/getgrnam.c
index 1bdbb42a8..2664ab3f6 100644
--- a/mdk-stage1/dietlibc/libcruft/getgrnam.c
+++ b/mdk-stage1/dietlibc/libcruft/getgrnam.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 *getgrnam(const char* name) {
struct group *tmp;
- setgrent();
- for (;;) {
- tmp=getgrent();
- if (!tmp) return 0;
- if (!strcmp(tmp->gr_name,name))
- return tmp;
- }
+ getgrnam_r(name,&__group_pw,__group_buf,sizeof(__group_buf),&tmp);
+ return tmp;
}