X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=ioncore%2Fexec.c;h=9da70032c12d2a4d7ccf74ff806994d87eb309a9;hb=HEAD;hp=06838a65bc2ccbd0542dd17fad40fe769332ed0c;hpb=de22e45179cb3bafa490294d31d47f361047a30a;p=ion3.git diff --git a/ioncore/exec.c b/ioncore/exec.c index 06838a6..9da7003 100644 --- a/ioncore/exec.c +++ b/ioncore/exec.c @@ -1,12 +1,9 @@ /* * ion/ioncore/exec.c * - * Copyright (c) Tuomo Valkonen 1999-2007. + * Copyright (c) Tuomo Valkonen 1999-2009. * - * Ion is free software; you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. + * See the included file LICENSE for details. */ #include @@ -126,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);