|
@@ -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;
|
|
|
}
|