-- Copyright (c) 2004-6 Don Stewart - http://www.cse.unsw.edu.au/~dons -- GPL version 2 or later (see http://www.gnu.org/copyleft/gpl.html) module Lambdabot.Util.Process ( run ) where import System.Process run :: FilePath -> String -> (String -> String) -> IO String run binary src scrub = do (_,out,err) <- readProcessWithExitCode binary [] src let o = scrub out e = scrub err return $ case () of {_ | null o && null e -> "Done." | null o -> e | otherwise -> o }