--- passwd.c-orig Tue Jun 11 20:13:51 2002 +++ passwd.c Thu Jun 13 22:59:59 2002 @@ -16,6 +16,7 @@ details. */ #include #include #include +#include #include #include @@ -107,7 +108,14 @@ GetPW (const char *user) WCHAR name[512]; DWORD ret; PUSER_INFO_3 ui; - + struct passwd *pw; + char *domain = (char *) malloc (MAX_PATH + 1); + + /* Try getting a Win32 username in case the user edited /etc/passwd */ + if ((pw = getpwnam (user))) + ret = cygwin_internal (CW_EXTRACT_DOMAIN_AND_USER, pw, domain, (char *) user); + if (ret == (int) NULL) + printf ("Windows username : %s\n", user); MultiByteToWideChar (CP_ACP, 0, user, -1, name, 512); ret = NetUserGetInfo (NULL, name, 3, (LPBYTE *) &ui); return EvalRet (ret, user) ? NULL : ui;