From 970470e235fd2a00d4b020378ddccf769ce534ec Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 14 Feb 2020 17:32:22 +0100 Subject: ash: main: Only set savestatus in exitcmd Upstream commit: Date: Sat, 19 May 2018 02:39:38 +0800 main: Only set savestatus in exitcmd Currently exitcmd sets exitstatus and then savestatus if the latter was previously set. In fact, as exitcmd always raises an exception and will either end up in the setjmp call in main() or exitshell(), where exitstatus is always replaced by savestatus if set, we only need to set savestatus. Signed-off-by: Herbert Xu Signed-off-by: Denys Vlasenko --- shell/ash.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'shell/ash.c') diff --git a/shell/ash.c b/shell/ash.c index 270a338d9..db7dffc72 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -13427,13 +13427,8 @@ exitcmd(int argc UNUSED_PARAM, char **argv) if (stoppedjobs()) return 0; - if (argv[1]) { - int status = number(argv[1]); - - exitstatus = status; - if (savestatus >= 0) - savestatus = status; - } + if (argv[1]) + savestatus = number(argv[1]); raise_exception(EXEXIT); /* NOTREACHED */ -- cgit v1.2.3