X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fexec.c;h=32771a0c990ac40acdace78a27658725905554b7;hb=b355f9832d094cdb9e700e01cbc063e3fdb4f58b;hp=65683dc87080bb58aab95629a4e07cf00853f5fe;hpb=d2a43a53786878c1273313249d3b49f6cd559b00;p=ion3.git diff --git a/ioncore/exec.c b/ioncore/exec.c index 65683dc..32771a0 100644 --- a/ioncore/exec.c +++ b/ioncore/exec.c @@ -123,18 +123,22 @@ int ioncore_exec(const char *cmd) /*EXTL_DOC - * Run \var{cmd} with a read pipe connected to its stdout. - * When data is received through the pipe, \var{handler} is called - * with that data. + * Run \var{cmd} in directory \var{wd} with a read pipe connected to its + * stdout and stderr. + * When data is received through one of these pipes, \var{h} or \var{errh} + * is called with that data. When the pipe is closed, the handler is called + * with \code{nil} argument. The PID of the new process is returned, or + * -1 on error. */ EXTL_SAFE EXTL_EXPORT -int ioncore_popen_bgread(const char *cmd, ExtlFn h, ExtlFn errh) +int ioncore_popen_bgread(const char *cmd, ExtlFn h, ExtlFn errh, + const char *wd) { WExecP p; p.target=NULL; - p.wd=NULL; + p.wd=wd; p.cmd=cmd; return mainloop_popen_bgread(cmd, setup_exec, (void*)&p, h, errh);