diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/getspnam.c')
-rw-r--r-- | mdk-stage1/dietlibc/libcruft/getspnam.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/getspnam.c b/mdk-stage1/dietlibc/libcruft/getspnam.c index e6573345d..a4eafbfb2 100644 --- a/mdk-stage1/dietlibc/libcruft/getspnam.c +++ b/mdk-stage1/dietlibc/libcruft/getspnam.c @@ -1,14 +1,11 @@ #include <shadow.h> #include <string.h> -#include <stdlib.h> -struct spwd *getspnam(const char * name) { +extern struct spwd __shadow_pw; +extern char __shadow_buf[1000]; + +struct spwd *getspnam(const char* name) { struct spwd *tmp; - setspent(); - for (;;) { - tmp=getspent(); - if (!tmp) return 0; - if (!strcmp(tmp->sp_namp,name)) - return tmp; - } + getspnam_r(name,&__shadow_pw,__shadow_buf,sizeof(__shadow_buf),&tmp); + return tmp; } |