summary refs log tree commit diff
path: root/src/eval.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2009-08-11 20:56:53 +1000
committerHerbert Xu <herbert@gondor.apana.org.au>2009-08-11 20:56:53 +1000
commitd53f173bb00bcc1d89ceb9e82b7d7e2b2a8dd852 (patch)
tree7054b149105e685666c0a57d1e53e3d03a1709f2 /src/eval.c
parent[EVAL] Pass EV_TESTED into evalcmd (diff)
downloaddash-d53f173bb00bcc1d89ceb9e82b7d7e2b2a8dd852.tar.gz
dash-d53f173bb00bcc1d89ceb9e82b7d7e2b2a8dd852.zip
[EVAL] Revert SKIPEVAL into EXEXIT
Now that eval handles EV_TESTED correctly, we can remove the
SKIPEVAL hack and simply use EXEXIT for set -e.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/eval.c b/src/eval.c
index 66c2209..2f195af 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -309,15 +309,10 @@ setstatus:
 		break;
 	}
 out:
-	if ((checkexit & exitstatus))
-		evalskip |= SKIPEVAL;
-	else if (pendingsigs && dotrap())
-		goto exexit;
-
-	if (flags & EV_EXIT) {
-exexit:
+	if ((checkexit & exitstatus) ||
+	    (pendingsigs && dotrap()) ||
+	    (flags & EV_EXIT))
 		exraise(EXEXIT);
-	}
 }