summaryrefslogtreecommitdiff
path: root/Utility/UserInfo.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Utility/UserInfo.hs')
-rw-r--r--Utility/UserInfo.hs9
1 files changed, 6 insertions, 3 deletions
diff --git a/Utility/UserInfo.hs b/Utility/UserInfo.hs
index dd66c33..d504fa5 100644
--- a/Utility/UserInfo.hs
+++ b/Utility/UserInfo.hs
@@ -15,11 +15,13 @@ module Utility.UserInfo (
) where
import Utility.Env
-import Utility.Data
import Utility.Exception
+#ifndef mingw32_HOST_OS
+import Utility.Data
+import Control.Applicative
+#endif
import System.PosixCompat
-import Control.Applicative
import Prelude
{- Current user's home directory.
@@ -58,6 +60,7 @@ myVal envvars extract = go envvars
#ifndef mingw32_HOST_OS
go [] = Right . extract <$> (getUserEntryForID =<< getEffectiveUserID)
#else
- go [] = return $ Left ("environment not set: " ++ show envvars)
+ go [] = return $ either Left (Right . extract) $
+ Left ("environment not set: " ++ show envvars)
#endif
go (v:vs) = maybe (go vs) (return . Right) =<< getEnv v