From 4bdcf788b375f58bc13b5e4d1d35dad90fb967c0 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 12 May 2013 15:38:15 -0500 Subject: check addition env vars so it works on Windows outside of Cygwin --- Utility/UserInfo.hs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) mode change 100644 => 100755 Utility/UserInfo.hs (limited to 'Utility/UserInfo.hs') diff --git a/Utility/UserInfo.hs b/Utility/UserInfo.hs old mode 100644 new mode 100755 index bc94ea8a1..3a71c6baf --- a/Utility/UserInfo.hs +++ b/Utility/UserInfo.hs @@ -22,11 +22,23 @@ import Utility.Env - - getpwent will fail on LDAP or NIS, so use HOME if set. -} myHomeDir :: IO FilePath -myHomeDir = myVal ["HOME"] homeDirectory +myHomeDir = myVal env homeDirectory + where +#ifndef __WINDOWS__ + env = ["HOME"] +#else + env = ["USERPROFILE", "HOME"] -- HOME is used in Cygwin +#endif {- Current user's user name. -} myUserName :: IO String -myUserName = myVal ["USER", "LOGNAME"] userName +myUserName = myVal env userName + where +#ifndef __WINDOWS__ + env = ["USER", "LOGNAME"] +#else + env = ["USERNAME", "USER", "LOGNAME"] +#endif myUserGecos :: IO String #ifdef __ANDROID__ -- cgit v1.2.3