From ef23aabafc115d5ea1488d535a28e82efeacb5a4 Mon Sep 17 00:00:00 2001 From: corinna Date: Sun, 2 Jul 2000 00:00:17 +0000 Subject: [PATCH] * uinfo.cc (uinfo_init): Eliminate calls to read_etc_group() and read_etc_passwd(). --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/uinfo.cc | 38 +++++++++++--------------------------- 2 files changed, 16 insertions(+), 27 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 4cacf64fe2..96518031bc 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +Sun Jul 2 1:57:00 2000 Corinna Vinschen + + * uinfo.cc (uinfo_init): Eliminate calls to read_etc_group() + and read_etc_passwd(). + 2000-06-28 Kazuhiro Fujieda * assert.cc (__assert): Reduce dependency on newlib. diff --git a/winsup/cygwin/uinfo.cc b/winsup/cygwin/uinfo.cc index a643d83dd5..b35fbc65a4 100644 --- a/winsup/cygwin/uinfo.cc +++ b/winsup/cygwin/uinfo.cc @@ -162,11 +162,6 @@ internal_getlogin (struct pinfo *pi) void uinfo_init () { - void read_etc_passwd (); - extern int passwd_in_memory_p; - void read_etc_group (); - extern int group_in_memory_p; - char *username; struct passwd *p; @@ -181,28 +176,17 @@ uinfo_init () another cygwin process without changing the user context. So all user infos in myself as well as the environment are (perhaps) valid. */ - if (myself->psid) - { - if (!passwd_in_memory_p) - read_etc_passwd(); - if (!group_in_memory_p) - read_etc_group (); - } - else if ((p = getpwnam (username = internal_getlogin (myself))) != NULL) - { - /* calling getpwnam assures us that /etc/password has been - read in, but we can't be sure about /etc/group */ - if (!group_in_memory_p) - read_etc_group (); - - myself->uid = p->pw_uid; - myself->gid = p->pw_gid; - } - else - { - myself->uid = DEFAULT_UID; - myself->gid = DEFAULT_GID; - } + if (!myself->psid) + if ((p = getpwnam (username = internal_getlogin (myself))) != NULL) + { + myself->uid = p->pw_uid; + myself->gid = p->pw_gid; + } + else + { + myself->uid = DEFAULT_UID; + myself->gid = DEFAULT_GID; + } /* Real and effective uid/gid are always identical on process start up. This is at least true for NT/W2K. */ myself->orig_uid = myself->real_uid = myself->uid; -- 2.11.0