X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fpasswd%2Fgetpwent.c;h=e8501461a794c90eb39610ab5c3b34727e79fd3a;hb=00e6bbcc05403aec1c96674c1060d54f5f237e87;hp=dabd411ab987730b649ed765baead9bfb1c7d880;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/passwd/getpwent.c b/src/passwd/getpwent.c index dabd411a..e8501461 100644 --- a/src/passwd/getpwent.c +++ b/src/passwd/getpwent.c @@ -23,17 +23,23 @@ struct passwd *getpwent() struct passwd *getpwuid(uid_t uid) { struct passwd *pw; + int errno_saved; setpwent(); while ((pw=getpwent()) && pw->pw_uid != uid); + errno_saved = errno; endpwent(); + errno = errno_saved; return pw; } struct passwd *getpwnam(const char *name) { struct passwd *pw; + int errno_saved; setpwent(); while ((pw=getpwent()) && strcmp(pw->pw_name, name)); + errno_saved = errno; endpwent(); + errno = errno_saved; return pw; }