@@ -13,7 +13,6 @@ module Network.Wai.Handler.CGI
1313import Network.Wai
1414import Network.Wai.Internal
1515import Network.Socket (getAddrInfo, addrAddress)
16−import System.Environment (getEnvironment)
1716import Data.Maybe (fromMaybe)
1817import Control.Exception (mask)
1918import qualified Data.ByteString.Char8 as B
@@ -35,6 +34,15 @@ import qualified Data.CaseInsensitive as CI
3534import Data.Monoid (mappend)
3635import Data.Conduit
3736
37+#if WINDOWS
38+import System.Environment (getEnvironment)
39+#else
40+import qualified System.Posix.Env.ByteString as Env
41+
42+getEnvironment :: IO [(String, String)]
43+getEnvironment = map (B.unpack *** B.unpack) `fmap` Env.getEnvironment
44+#endif
45+
3846safeRead :: Read a => a -> String -> a
3947safeRead d s =
4048 case reads s of