summaryrefslogtreecommitdiffstats
path: root/job.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2015-04-25 10:02:46 +0000
committerThomas Adam <thomas@xteddy.org>2015-04-25 10:02:46 +0000
commit56e1132db485aeb0730ce7782533ca441e63afef (patch)
tree310f172893f10f8f2f3a249ee88fed51b03b39cc /job.c
parent0a88377086329786c438d4973365fdb21186f4e4 (diff)
parentaeedb464a6ee038289ddcfefae437928ab020cb1 (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'job.c')
-rw-r--r--job.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/job.c b/job.c
index 023a1d47..74b316ed 100644
--- a/job.c
+++ b/job.c
@@ -40,7 +40,7 @@ struct joblist all_jobs = LIST_HEAD_INITIALIZER(all_jobs);
/* Start a job running, if it isn't already. */
struct job *
-job_run(const char *cmd, struct session *s,
+job_run(const char *cmd, struct session *s, int cwd,
void (*callbackfn)(struct job *), void (*freefn)(void *), void *data)
{
struct job *job;
@@ -66,6 +66,9 @@ job_run(const char *cmd, struct session *s,
case 0: /* child */
clear_signals(1);
+ if (cwd != -1 && fchdir(cwd) != 0)
+ chdir("/");
+
environ_push(&env);
environ_free(&env);