diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/getpwuid.c')
-rw-r--r-- | mdk-stage1/dietlibc/libcruft/getpwuid.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid.c b/mdk-stage1/dietlibc/libcruft/getpwuid.c index eef14e6e8..bca6a8a0c 100644 --- a/mdk-stage1/dietlibc/libcruft/getpwuid.c +++ b/mdk-stage1/dietlibc/libcruft/getpwuid.c @@ -2,13 +2,11 @@ #include <string.h> #include <stdlib.h> +extern struct passwd __passwd_pw; +extern char __passwd_buf[1000]; + struct passwd *getpwuid(uid_t uid) { struct passwd *tmp; - setpwent(); - for (;;) { - tmp=getpwent(); - if (!tmp) return 0; - if (tmp->pw_uid==uid) - return tmp; - } + getpwuid_r(uid,&__passwd_pw,__passwd_buf,sizeof(__passwd_buf),&tmp); + return tmp; } |