diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-28 00:01:16 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-28 00:01:16 +0000 |
commit | be709c24d40c2fb52d3f57faa25b9134c7d25270 (patch) | |
tree | 8a2d3d0281ab92d0d961c7a783e01ba501e8a418 /shell/Config.in | |
parent | 8d523cbcd79c5428f1ea5bcbec6b7d9fd3756dc3 (diff) | |
download | busybox-w32-be709c24d40c2fb52d3f57faa25b9134c7d25270.tar.gz busybox-w32-be709c24d40c2fb52d3f57faa25b9134c7d25270.tar.bz2 busybox-w32-be709c24d40c2fb52d3f57faa25b9134c7d25270.zip |
hush: finish and enable optional case...esac support. Code size cost:
function old new delta
run_list 1891 2075 +184
parse_stream 1764 1847 +83
expand_strvec_to_string - 83 +83
done_word 647 715 +68
static.reserved_list 144 168 +24
static.reserved_match - 12 +12
done_pipe 95 105 +10
builtin_exit 48 46 -2
builtin_eval 127 54 -73
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/2 up/down: 464/-75) Total: 389 bytes
Diffstat (limited to 'shell/Config.in')
-rw-r--r-- | shell/Config.in | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/shell/Config.in b/shell/Config.in index f4a9e7b1c..ee2f832fa 100644 --- a/shell/Config.in +++ b/shell/Config.in | |||
@@ -178,9 +178,11 @@ config HUSH | |||
178 | hush is a very small shell (just 18k) and it has fairly complete | 178 | hush is a very small shell (just 18k) and it has fairly complete |
179 | Bourne shell grammar. It even handles all the normal flow control | 179 | Bourne shell grammar. It even handles all the normal flow control |
180 | options such as if/then/elif/else/fi, for/in/do/done, while loops, | 180 | options such as if/then/elif/else/fi, for/in/do/done, while loops, |
181 | etc. | 181 | case/esac. |
182 | 182 | ||
183 | It does not handle case/esac, select, function, here documents ( << | 183 | It uses only vfork, so it can be used on uClinux systems. |
184 | |||
185 | It does not handle select, functions, here documents ( << | ||
184 | word ), arithmetic expansion, aliases, brace expansion, tilde | 186 | word ), arithmetic expansion, aliases, brace expansion, tilde |
185 | expansion, &> and >& redirection of stdout+stderr, etc. | 187 | expansion, &> and >& redirection of stdout+stderr, etc. |
186 | 188 | ||
@@ -232,6 +234,14 @@ config HUSH_LOOPS | |||
232 | depends on HUSH | 234 | depends on HUSH |
233 | help | 235 | help |
234 | Enable for, while and until loops in hush. | 236 | Enable for, while and until loops in hush. |
237 | As of 2008-07, break and continue statements are not supported. | ||
238 | |||
239 | config HUSH_CASE | ||
240 | bool "Support case ... esac statement" | ||
241 | default n | ||
242 | depends on HUSH | ||
243 | help | ||
244 | Enable case ... esac statement in hush. +400 bytes. | ||
235 | 245 | ||
236 | config LASH | 246 | config LASH |
237 | bool "lash" | 247 | bool "lash" |
@@ -249,7 +259,7 @@ config MSH | |||
249 | shell to do. It is not always pedantically correct about Bourne | 259 | shell to do. It is not always pedantically correct about Bourne |
250 | shell grammar (try running the shell testscript "tests/sh.testcases" | 260 | shell grammar (try running the shell testscript "tests/sh.testcases" |
251 | on it and compare vs bash) but for most things it works quite well. | 261 | on it and compare vs bash) but for most things it works quite well. |
252 | It also uses only vfork, so it can be used on uClinux systems. | 262 | It uses only vfork, so it can be used on uClinux systems. |
253 | 263 | ||
254 | comment "Bourne Shell Options" | 264 | comment "Bourne Shell Options" |
255 | depends on MSH || LASH || HUSH || ASH | 265 | depends on MSH || LASH || HUSH || ASH |