Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/System/GetEnv.hs

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


module System where

import NHC.FFI

foreign import ccall primGetEnv  :: PackedString -> IO (Ptr Char)
foreign import cast  ptrToString :: (Ptr Char) -> PackedString

getEnv                    :: String -> IO String
getEnv symbol = do
    ptr <- primGetEnv (toCString symbol)
    if ptr==nullPtr then do
        errno <- getErrNo
        throwIOError ("getEnv \""++symbol++"\"") Nothing Nothing errno
      else do
        return (fromCString (ptrToString ptr))


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.