Mark Carroll wrote:

>    Your code looks great, but where do you find the library documentation,
> like what the arguments for executeFile are all about? (I'd guessed the
> Maybe thing was an environment, but what's the Bool?) I've been trying to
> do similar stuff, but have been stumbling in the dark rather.

Source code (hslibs/posix/PosixProcPrim.lhs):

        executeFile :: FilePath                     -- Command
                    -> Bool                         -- Search PATH?
                    -> [String]                     -- Arguments
                    -> Maybe [(String, String)]     -- Environment
                    -> IO ()
        executeFile path search args Nothing = do
[snip]
                if search 
                   then throwErrnoIfMinus1_ "executeFile" (c_execvp s arr)
                   else throwErrnoIfMinus1_ "executeFile" (c_execv s arr)

        executeFile path search args (Just env) = do
[snip]
                if search 
                   then throwErrnoIfMinus1_ "executeFile" (c_execvpe s arg_arr env_arr)
                   else throwErrnoIfMinus1_ "executeFile" (c_execve s arg_arr env_arr)

IOW:

        search  env             function

        False   Nothing         execv
        True    Nothing         execvp
        False   Just _          execve
        True    Just _          execvpe [*]

[*] execvpe() isn't a standard library function; it is implemented in
hslibs/posix/cbits/execvpe.c using execve().

-- 
Glynn Clements <[EMAIL PROTECTED]>
_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to