summaryrefslogtreecommitdiff
path: root/shell/hush_test/hush-misc/exitcode1.right
diff options
context:
space:
mode:
authorDenys Vlasenko2016-09-28 19:41:57 +0200
committerDenys Vlasenko2016-09-28 19:41:57 +0200
commiteb17b6f6c99df4a132742facd43a9485bb7ac5a0 (patch)
treee433e1a453bcf0728e56e114783718071de82af6 /shell/hush_test/hush-misc/exitcode1.right
parent1c32e49bdf74dfe47cae108d06702996ead052f0 (diff)
downloadbusybox-eb17b6f6c99df4a132742facd43a9485bb7ac5a0.zip
busybox-eb17b6f6c99df4a132742facd43a9485bb7ac5a0.tar.gz
ash: eval: Return status in eval functions
Backported from dash: eval: Return status in eval functions The exit status is currently clobbered too early for case statements and loops. This patch fixes it by making the eval functions return the current exit status and setting them in one place -- evaltree. Harald van Dijk pointed out a number of bugs in the original patch. function old new delta evalcommand 1226 1242 +16 cmdloop 383 398 +15 evalfor 223 227 +4 evalcase 271 275 +4 localcmd 348 350 +2 evaltreenr 927 928 +1 evaltree 927 928 +1 evalsubshell 150 151 +1 evalpipe 356 357 +1 parse_command 1585 1584 -1 evalloop 177 164 -13 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 9/2 up/down: 45/-14) Total: 31 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-misc/exitcode1.right')
-rw-r--r--shell/hush_test/hush-misc/exitcode1.right2
1 files changed, 2 insertions, 0 deletions
diff --git a/shell/hush_test/hush-misc/exitcode1.right b/shell/hush_test/hush-misc/exitcode1.right
new file mode 100644
index 0000000..e5fefef
--- /dev/null
+++ b/shell/hush_test/hush-misc/exitcode1.right
@@ -0,0 +1,2 @@
+One:1
+Zero:0