diff options
-rw-r--r-- | bin/ksh/eval.c | 12 | ||||
-rw-r--r-- | bin/ksh/tests/regress.t | 4 |
2 files changed, 4 insertions, 12 deletions
diff --git a/bin/ksh/eval.c b/bin/ksh/eval.c index 60aec522fd8..9ab6a85fccb 100644 --- a/bin/ksh/eval.c +++ b/bin/ksh/eval.c @@ -1,4 +1,4 @@ -/* $OpenBSD: eval.c,v 1.39 2013/07/01 17:25:27 jca Exp $ */ +/* $OpenBSD: eval.c,v 1.40 2013/09/14 20:09:30 millert Exp $ */ /* * Expansion - quoting, separation, substitution, globbing @@ -869,7 +869,7 @@ comsub(Expand *xp, char *cp) "%s: cannot open $(<) input", name); xp->split = 0; /* no waitlast() */ } else { - int errexit, ofd1, pv[2]; + int ofd1, pv[2]; openpipe(pv); shf = shf_fdopen(pv[0], SHF_RD, (struct shf *) 0); ofd1 = savefd(1); @@ -877,15 +877,7 @@ comsub(Expand *xp, char *cp) ksh_dup2(pv[1], 1, false); close(pv[1]); } - /* - * Clear FERREXIT temporarily while we execute the command. - * We cannot simply pass XERROK since the tree might include - * its own "set -e". - */ - errexit = Flag(FERREXIT); - Flag(FERREXIT) = 0; execute(t, XFORK|XXCOM|XPIPEO, NULL); - Flag(FERREXIT) = errexit; restfd(1, ofd1); startlast(); xp->split = 1; /* waitlast() */ diff --git a/bin/ksh/tests/regress.t b/bin/ksh/tests/regress.t index e77df1a7432..8b4305c6752 100644 --- a/bin/ksh/tests/regress.t +++ b/bin/ksh/tests/regress.t @@ -1,4 +1,4 @@ -# $OpenBSD: regress.t,v 1.15 2013/07/01 17:25:27 jca Exp $ +# $OpenBSD: regress.t,v 1.16 2013/09/14 20:09:30 millert Exp $ # # The first 39 of these tests are from the old Bugs script. @@ -607,7 +607,7 @@ arguments: !-e! stdin: echo `false; echo hi` $(< this-file-does-not-exist) expected-stdout: - hi + expected-stderr-pattern: /this-file-does-not-exist/ --- |