summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-05-27 16:07:29 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2009-05-27 16:07:29 (GMT)
commite6f6d829403156797fabc4690d497fdf7cd6f7d1 (patch)
treed2118b46c4bfca2ae806f24d28046eda9190eab5
parent20cc390b9bb33cd0ab05c8bbfcd24babad7ec204 (diff)
downloadbusybox-e6f6d829403156797fabc4690d497fdf7cd6f7d1.tar.gz
busybox-e6f6d829403156797fabc4690d497fdf7cd6f7d1.tar.bz2
hush: more fixes from trunk; bump version to 1.14.11_14_1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--Makefile2
-rw-r--r--scripts/defconfig5
-rw-r--r--shell/Config.in7
-rw-r--r--shell/hush.c8
4 files changed, 16 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 0d6e17d..e87d18d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
VERSION = 1
PATCHLEVEL = 14
-SUBLEVEL = 0
+SUBLEVEL = 1
EXTRAVERSION =
NAME = Unnamed
diff --git a/scripts/defconfig b/scripts/defconfig
index a863eca..f991363 100644
--- a/scripts/defconfig
+++ b/scripts/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.14.0
-# Wed Apr 15 04:12:17 2009
+# Busybox version: 1.14.1
+# Wed May 27 18:05:31 2009
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -859,6 +859,7 @@ CONFIG_HUSH_IF=y
CONFIG_HUSH_LOOPS=y
CONFIG_HUSH_CASE=y
CONFIG_HUSH_FUNCTIONS=y
+CONFIG_HUSH_EXPORT_N=y
# CONFIG_LASH is not set
CONFIG_MSH=y
diff --git a/shell/Config.in b/shell/Config.in
index 6cc11ce..57969f0 100644
--- a/shell/Config.in
+++ b/shell/Config.in
@@ -232,6 +232,13 @@ config HUSH_FUNCTIONS
help
Enable support for shell functions in hush. +800 bytes.
+config HUSH_EXPORT_N
+ bool "Support export '-n' option"
+ default n
+ depends on HUSH
+ help
+ Enable support for export '-n' option in hush. It is a bash extension.
+
config LASH
bool "lash (deprecated: aliased to hush)"
default n
diff --git a/shell/hush.c b/shell/hush.c
index 8c3e7c5..735cb4c 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -50,7 +50,6 @@
*
* TODOs:
* grep for "TODO" and fix (some of them are easy)
- * $var refs in function do not pick up values set by "var=val func"
* builtins: ulimit
* follow IFS rules more precisely, including update semantics
*
@@ -4110,8 +4109,11 @@ static int run_list(struct pipe *pi)
}
#endif
#if ENABLE_HUSH_FUNCTIONS
- if (G.flag_return_in_progress == 1)
- goto check_jobs_and_break;
+ if (G.flag_return_in_progress == 1) {
+ /* same as "goto check_jobs_and_break" */
+ checkjobs(NULL);
+ break;
+ }
#endif
} else if (pi->followup == PIPE_BG) {
/* What does bash do with attempts to background builtins? */