summaryrefslogtreecommitdiffstats
path: root/job.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2021-10-11 14:01:13 +0100
committerThomas Adam <thomas@xteddy.org>2021-10-11 14:01:13 +0100
commitaf82106fae823f55fd3c746e1b48bc8e52a55e68 (patch)
tree2189aea822dbccb9d70837e6d088cd79c821e664 /job.c
parent7ca863c5af3dbbb78d45bec5b113a69f983f2fdc (diff)
parent759efe1b3327a7244c03ecc7b90e0e3c49712d06 (diff)
Merge branch 'obsd-master' into 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 3624c679..77f9318e 100644
--- a/job.c
+++ b/job.c
@@ -69,7 +69,7 @@ static LIST_HEAD(joblist, job) all_jobs = LIST_HEAD_INITIALIZER(all_jobs);
/* Start a job running. */
struct job *
-job_run(const char *cmd, int argc, char **argv, struct session *s,
+job_run(const char *cmd, int argc, char **argv, struct environ *e, struct session *s,
const char *cwd, job_update_cb updatecb, job_complete_cb completecb,
job_free_cb freecb, void *data, int flags, int sx, int sy)
{
@@ -87,6 +87,9 @@ job_run(const char *cmd, int argc, char **argv, struct session *s,
* if-shell to decide on default-terminal based on outside TERM.
*/
env = environ_for_session(s, !cfg_finished);
+ if (e != NULL) {
+ environ_copy(e, env);
+ }
sigfillset(&set);
sigprocmask(SIG_BLOCK, &set, &oldset);