=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/job.c,v retrieving revision 1.34 retrieving revision 1.35 diff -c -r1.34 -r1.35 *** src/usr.bin/tmux/job.c 2014/10/20 23:27:14 1.34 --- src/usr.bin/tmux/job.c 2015/04/24 22:19:36 1.35 *************** *** 1,4 **** ! /* $OpenBSD: job.c,v 1.34 2014/10/20 23:27:14 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: job.c,v 1.35 2015/04/24 22:19:36 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 41,47 **** /* Start a job running, if it isn't already. */ struct job * ! job_run(const char *cmd, struct session *s, void (*callbackfn)(struct job *), void (*freefn)(void *), void *data) { struct job *job; --- 41,47 ---- /* Start a job running, if it isn't already. */ struct job * ! job_run(const char *cmd, struct session *s, int cwd, void (*callbackfn)(struct job *), void (*freefn)(void *), void *data) { struct job *job; *************** *** 66,71 **** --- 66,74 ---- return (NULL); case 0: /* child */ clear_signals(1); + + if (cwd != -1 && fchdir(cwd) != 0) + chdir("/"); environ_push(&env); environ_free(&env);