f9d656f787
hush: remove contradicting size info in config help
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-18 22:23:55 +02:00
4eed2c6c50
Update menuconfig items with approximate applet sizes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-18 22:01:24 +02:00
d2c15bc763
hush: tweak "help" output
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-18 18:14:42 +02:00
cf5110978b
hush: fix readonly2.tests failure
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-18 15:58:02 +02:00
5b2cc0aaee
hush: do not assign to readonly VAR in "VAR=VAL CMD" syntax too
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-18 02:44:06 +02:00
38ef39a1ab
hush: add readonly testcase, fix fallout
...
function old new delta
helper_export_local 185 214 +29
run_pipe 1549 1560 +11
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 40/0) Total: 40 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-18 01:40:01 +02:00
3bab36b18b
hush: convert exp/ro/local parameters to bitfields in one flag param
...
function old new delta
helper_export_local 174 185 +11
set_local_var 424 420 -4
run_list 1048 1044 -4
set_vars_and_save_old 88 83 -5
set_local_var_from_halves 27 22 -5
run_pipe 1554 1549 -5
builtin_export 173 168 -5
set_pwd_var 40 34 -6
builtin_readonly 70 64 -6
expand_one_var 1625 1618 -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/9 up/down: 11/-47) Total: -36 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-18 01:05:24 +02:00
6b0695bb66
hush: HUSH_READONLY depends on HUSH
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-17 21:47:27 +02:00
6b48e1f121
hush: forgot to emit error on (failing) second "readonly VAR=VAL"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-17 21:31:17 +02:00
b95ee96e75
hush: smaller code in !READONLY configs
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-17 21:19:53 +02:00
1e660422b1
hush: implement "readonly" builtin
...
function old new delta
builtin_readonly - 70 +70
helper_export_local 152 174 +22
bltins1 348 360 +12
expand_one_var 1620 1625 +5
builtin_export 168 173 +5
set_pwd_var 36 40 +4
set_local_var 410 414 +4
set_vars_and_save_old 85 88 +3
set_local_var_from_halves 24 27 +3
run_pipe 1551 1554 +3
run_list 1046 1048 +2
builtin_type 116 114 -2
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 10/1 up/down: 133/-2) Total: 131 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-17 21:10:50 +02:00
0ba80e4fa2
hush: small fix to last commit
...
die_if_script() indeed dies only in scripts! Must handle the case where it continues.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-17 16:50:20 +02:00
e32b6503e7
hush: support ${VAR:N:-M}
...
function old new delta
expand_one_var 1602 1615 +13
builtin_type 114 116 +2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-17 16:46:57 +02:00
203fd7bc66
shells: expand TODO comments, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-17 16:13:35 +02:00
b24e55da84
hush: fix "cmd1 && cmd2 &" handling on NOMMU
...
function old new delta
done_pipe 234 238 +4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-16 20:29:35 +02:00
ee553b929c
hush: fix and_or_and_backgrounding.tests failure
...
function old new delta
done_pipe 133 218 +85
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-15 22:51:55 +02:00
2ed74e25d3
hush: make "wait %1" work even if the job is dead
...
Example script:
sleep 1 | (sleep 1;exit 3) &
sleep 2
echo Zero:$?
wait %1
echo Three:$?
function old new delta
clean_up_last_dead_job - 24 +24
process_wait_result 426 447 +21
builtin_wait 285 293 +8
insert_job_into_table 264 269 +5
builtin_jobs 68 73 +5
remove_job_from_table 59 57 -2
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/1 up/down: 63/-2) Total: 61 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-14 19:58:46 +02:00
0c5657e911
hush: remove superfluous comparison
...
function old new delta
builtin_wait 291 285 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-14 19:27:03 +02:00
9fda609a60
hush: add support for "set -e"
...
function old new delta
run_list 978 1046 +68
o_opt_strings 24 32 +8
reset_traps_to_defaults 136 142 +6
pick_sighandler 57 60 +3
packed_usage 31772 31770 -2
hush_main 983 961 -22
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/2 up/down: 85/-24) Total: 61 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-14 13:36:48 +02:00
b057806a6a
hush: add TODO for "set -e"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-10 10:33:27 +02:00
9e55a156f8
hush: simplify insert_job_into_table() a bit
...
function old new delta
done_word 767 761 -6
insert_job_into_table 325 264 -61
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 59/-126) Total: -67 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-10 10:01:12 +02:00
1609629a91
hush: rename a few functions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-10 10:00:28 +02:00
13102634bb
hush: explain why wait5.tests is failing
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-08 00:24:32 +02:00
840a4355d0
hush: fix "(sleep 1; exit 3) & sleep 2; echo $?; wait $!; echo $?"
...
function old new delta
process_wait_result 414 426 +12
builtin_wait 283 291 +8
run_list 974 978 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 24/0) Total: 24 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-07 22:56:02 +02:00
2db74610cd
hush: fix two redirection testcase failures
...
function old new delta
save_fds_on_redirect 183 256 +73
fcntl_F_DUPFD - 46 +46
restore_redirects 74 96 +22
xdup_and_close 51 72 +21
setup_redirects 196 200 +4
hush_main 988 983 -5
static.C 12 - -12
run_pipe 1595 1551 -44
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 4/2 up/down: 166/-61) Total: 105 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-07 22:07:28 +02:00
69a5ec9dcc
main: fix the case where user has "halt" as login shell. Closes 9986
...
halt::0:0::/:/sbin/halt
function old new delta
run_applet_and_exit 748 751 +3
run_applet_no_and_exit 467 459 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-07 19:08:56 +02:00
50b8b2914b
hush: add a TODO about redir3.tests failure
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-06 20:57:37 +02:00
e59591a364
hush: Print error messages on shift -1
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-06 20:12:44 +02:00
5dad7bdc3b
hush: implement negative start in the ${v: -n[:m]} idiom
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-06 19:48:20 +02:00
7456298472
hush: "adopt" ash signal4.tests
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-06 18:40:45 +02:00
637982f5bb
hush: correctly handle quoting in "case" even if !BASH_PATTERN_SUBST
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-06 01:52:23 +02:00
bd43c6784f
hush: fix quoted_punct.tests failure
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-05 23:12:15 +02:00
d4e4fdb5ce
fixes for bugs found by make_single_applets.sh
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-03 21:31:16 +02:00
2e989ef232
msh: delete this applet
...
It's deprecated since 2009 and interferes with make_single_applets.sh tests.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-03 16:56:37 +02:00
4ee824f6ba
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-07-03 01:22:13 +02:00
f547041940
ash,hush: fix SIGCHLD interrupting read builtin
...
function old new delta
readcmd 169 217 +48
shell_builtin_read 1087 1097 +10
localcmd 366 364 -2
builtin_read 197 193 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 58/-6) Total: 52 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-05-22 19:34:45 +02:00
10ad622dc2
Spelling fixes in comments, documentation, tests and examples
...
By klemens <ka7@github.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-04-17 16:13:32 +02:00
205d48e948
*: add comment about APPLET_ODDNAME format
...
It confused me more than once
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-29 14:57:33 +01:00
8944c67b1f
hush: reinstate [[ builtin
...
Mike deleted it:
commit 39456a18a1
Author: Mike Frysinger <vapier@gentoo.org >
Date: Sat Mar 28 12:21:57 2009 +0000
stop lying about [[ test support
probably because it was not properly ifdefed around, and was enabled
even when bash compat is off.
I just tested it - it works:
$ [ *.diff = z.diff ]; echo $?
0
$ [[ *.diff = z.diff ]]; echo $?
1
Of course, not all numerous bash tricks of [[ ]] are implemented...
function old new delta
bltins2 60 72 +12
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-11 14:22:00 +01:00
027d3ab57d
hush: split bash compatible extensions into separate defines. No code changes
...
Splitting these options makes it self-documenting about what
bash-compatible features we have.
Signed-off-by: Kang-Che Sung <explorer09@gmail.com >
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-11 14:18:30 +01:00
80f806cac9
hush: shorten output of "help" builtin
...
text data bss dec hex filename
891272 485 6856 898613 db635 busybox_old
891232 485 6856 898573 db60d busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-10 16:51:10 +01:00
a1184af5f8
hush: reorder builtins (cd and pwd ought to be close, etc), no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-10 15:58:02 +01:00
265062d59d
shells: make hush test optional, rename ASH_BUILTIN_foo -> ASH_foo
...
This makes hash and ash more symmetrical wrt config menu and config
options.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-10 15:13:30 +01:00
f560422fa0
Big cleanup in config help and description
...
Redundant help texts (one which only repeats the description)
are deleted.
Descriptions and help texts are trimmed.
Some config options are moved, even across menus.
No config option _names_ are changed.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-10 14:58:54 +01:00
1cc6804f69
hush: make echo builtin optional
...
It's a bit overkill (who would want it off?) but ash already has it
configurable. Let's be symmetric.
Also tweak kbuild logic to use ASH_BUILTIN_ECHO to select echo.o,
not ASH.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-09 17:10:04 +01:00
2b1559056c
hush: fix a bug in argv restoration after sourcing a file
...
if sourced file "shift"ed argvs so that $1 is NULL, restore wasn't done.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-09 08:13:21 +01:00
4e4f88e569
hush: global_args_malloced is used only if set builtin is enabled
...
function old new delta
run_pipe 1623 1635 +12
builtin_source 210 222 +12
save_and_replace_G_args 70 60 -10
builtin_shift 132 94 -38
restore_G_args 98 - -98
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/2 up/down: 24/-146) Total: -122 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-09 07:57:38 +01:00
cc2fd5a986
hush: fix 'defined but not used' warning
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-09 06:19:55 +01:00
5362cc4b8c
hush: remove redundand test for ENABLE_HUSH_JOB
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-09 05:57:13 +01:00
fd68f1e80d
hush: fix kill builtin without jobs support
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com >
2017-01-09 05:47:57 +01:00