diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-08-11 20:56:53 +1000 |
---|---|---|
committer | maximilian attems <max@stro.at> | 2010-03-22 00:29:17 +0100 |
commit | fb696791c622fab6719e724d0d4239225bcbe706 (patch) | |
tree | 39001e270bd53a67321cc4974b996867d9b91a60 | |
parent | c9c9390fbea8cd7dfe15188632cc17b0a45b76fe (diff) | |
download | klibc-fb696791c622fab6719e724d0d4239225bcbe706.tar.gz |
[klibc] [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>
Signed-off-by: maximilian attems <max@stro.at>
-rw-r--r-- | usr/dash/eval.c | 11 | ||||
-rw-r--r-- | usr/dash/eval.h | 1 | ||||
-rw-r--r-- | usr/dash/main.c | 9 |
3 files changed, 5 insertions, 16 deletions
diff --git a/usr/dash/eval.c b/usr/dash/eval.c index b462b0fb5146a..876ea9b1a802b 100644 --- a/usr/dash/eval.c +++ b/usr/dash/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); - } } diff --git a/usr/dash/eval.h b/usr/dash/eval.h index 005620d1f14c8..e190b28ae4466 100644 --- a/usr/dash/eval.h +++ b/usr/dash/eval.h @@ -59,4 +59,3 @@ extern int evalskip; #define SKIPCONT (1 << 1) #define SKIPFUNC (1 << 2) #define SKIPFILE (1 << 3) -#define SKIPEVAL (1 << 4) diff --git a/usr/dash/main.c b/usr/dash/main.c index 7d07e2d00d84f..2bff9561a90b6 100644 --- a/usr/dash/main.c +++ b/usr/dash/main.c @@ -243,7 +243,7 @@ cmdloop(int top) skip = evalskip; if (skip) { evalskip = 0; - return skip & SKIPEVAL; + break; } } @@ -259,17 +259,12 @@ cmdloop(int top) STATIC void read_profile(const char *name) { - int skip; - name = expandstr(name); if (setinputfile(name, INPUT_PUSH_FILE | INPUT_NOFILE_OK) < 0) return; - skip = cmdloop(0); + cmdloop(0); popfile(); - - if (skip) - exitshell(); } |