aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorSheldon Hearn <sheldonh@FreeBSD.org>1999-07-19 11:00:33 +0000
committerSheldon Hearn <sheldonh@FreeBSD.org>1999-07-19 11:00:33 +0000
commit58aa6f74a2928d2e4ca0ca629912bcd95b25c139 (patch)
tree8b97f70454bce17f4d8eb7be50ed3d128914a4c3 /bin
parent7f37499c9c9cddd52ad3dab537350428005665b4 (diff)
downloadsrc-58aa6f74a2928d2e4ca0ca629912bcd95b25c139.tar.gz
src-58aa6f74a2928d2e4ca0ca629912bcd95b25c139.zip
Fix handling of the cd command inside evaluations. It was changing PWD,
which it should not do. PR: 12578 Reported by: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> Submitted by: Niall Smart <niall@pobox.com>
Notes
Notes: svn path=/head/; revision=48896
Diffstat (limited to 'bin')
-rw-r--r--bin/sh/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/bin/sh/eval.c b/bin/sh/eval.c
index 2a1e760926cd..4c762bad3e56 100644
--- a/bin/sh/eval.c
+++ b/bin/sh/eval.c
@@ -39,7 +39,7 @@
static char sccsid[] = "@(#)eval.c 8.9 (Berkeley) 6/8/95";
#endif
static const char rcsid[] =
- "$Id: eval.c,v 1.18 1999/04/21 11:52:39 cracauer Exp $";
+ "$Id: eval.c,v 1.19 1999/05/08 10:21:46 kris Exp $";
#endif /* not lint */
#include <signal.h>
@@ -712,6 +712,7 @@ evalcommand(cmd, flags, backcmd)
&& ((flags & EV_EXIT) == 0 || Tflag))
|| ((flags & EV_BACKCMD) != 0
&& (cmdentry.cmdtype != CMDBUILTIN
+ || cmdentry.u.index == CDCMD
|| cmdentry.u.index == DOTCMD
|| cmdentry.u.index == EVALCMD))) {
jp = makejob(cmd, 1);