/*EXTL_DOC
- * Run \var{cmd} with a read pipe connected to its stdout and stderr.
+ * 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
*/
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);