aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-04-09 17:54:07 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2018-04-09 17:54:07 +0200
commiteb0de05d682b28fcf7465358ea31cf8574c1221b (patch)
treef78bf8220b349b39c2cc8b06403fbf40eb2757b9 /shell
parenta1870f4807a75663a085c9f5e92870fa7554f0ad (diff)
downloadbusybox-eb0de05d682b28fcf7465358ea31cf8574c1221b.tar.gz
hush: fix func_return2.tests on NOMMU
function old new delta hush_main 1714 1718 +4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/hush.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/shell/hush.c b/shell/hush.c
index d5ea3b21f..3a4b5d894 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -9394,6 +9394,13 @@ int hush_main(int argc, char **argv)
optarg++;
G.depth_of_loop = bb_strtou(optarg, &optarg, 16);
# endif
+# if ENABLE_HUSH_FUNCTIONS
+ /* nommu uses re-exec trick for "... | func | ...",
+ * should allow "return".
+ * This accidentally allows returns in subshells.
+ */
+ G_flag_return_in_progress = -1;
+# endif
break;
}
case 'R':