diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-09-28 14:40:18 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-09-28 14:40:18 +0000 |
commit | 2f1f8815c037ee0387c30fba98689e544ab75c9a (patch) | |
tree | 58a54bb45cbd833ed7169a8669005e7468dbb1ec /winsup/cygwin/passwd.cc | |
parent | 91e0b943a07e768bbdcd7d8da2b991eee41fc0c4 (diff) | |
download | cygnal-2f1f8815c037ee0387c30fba98689e544ab75c9a.tar.gz cygnal-2f1f8815c037ee0387c30fba98689e544ab75c9a.tar.bz2 cygnal-2f1f8815c037ee0387c30fba98689e544ab75c9a.zip |
* Makefile.in (DLL_IMPORTS): Remove libadvapi32.a.
* autoload.cc: Add all advapi32 entry points.
* mount.cc (mount_info::init): Read user fstab only if we have a
username.
* passwd.cc (pwdgrp::read_passwd): Only use username if we have one.
* shared.cc (user_info::initialize): Set cb last so as not to override
planned behaviour in pwdgrp::read_passwd.
* uinfo.cc (cygheap_user::init): Fetch Windows username from environment
variable $USERNAME. Don't set name in cygheap if variable is empty.
(internal_getlogin): If we still have no username, try GetUserNameW.
Diffstat (limited to 'winsup/cygwin/passwd.cc')
-rw-r--r-- | winsup/cygwin/passwd.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/passwd.cc b/winsup/cygwin/passwd.cc index 8c51c22a0..23756241a 100644 --- a/winsup/cygwin/passwd.cc +++ b/winsup/cygwin/passwd.cc @@ -66,7 +66,8 @@ pwdgrp::read_passwd () if (!user_shared->cb || myself->uid == ILLEGAL_UID) searchentry = !internal_getpwsid (tu); if (searchentry - && (!(pw = internal_getpwnam (cygheap->user.name ())) + && (!cygheap->user.name () + || !(pw = internal_getpwnam (cygheap->user.name ())) || !user_shared->cb || (myself->uid != ILLEGAL_UID && myself->uid != (__uid32_t) pw->pw_uid @@ -75,7 +76,7 @@ pwdgrp::read_passwd () static char linebuf[1024]; // must be static and // should not be NO_COPY snprintf (linebuf, sizeof (linebuf), "%s:*:%lu:%lu:,%s:%s:/bin/sh", - cygheap->user.name (), + cygheap->user.name () ?: "", (!user_shared->cb || myself->uid == ILLEGAL_UID) ? UNKNOWN_UID : myself->uid, !user_shared->cb ? UNKNOWN_GID : myself->gid, |