process-progress-0.9: System/Posix/EnvPlus.hs
module System.Posix.EnvPlus
( module System.Posix.Env
, modifyEnv
) where
import System.Posix.Env
-- | Generalization of Posix setEnv/unSetEnv.
modifyEnv :: String -> (Maybe String -> Maybe String) -> IO ()
modifyEnv name f =
getEnv name >>= maybe (unsetEnv name) (\ x -> setEnv name x True) . f