Denys Vlasenko
8c52f80397
ash: cosmetic cleanups
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-04 17:36:21 +01:00
Denys Vlasenko
b7c9fb27cb
whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-03 00:05:48 +01:00
Denys Vlasenko
b72baeb003
hush: use FEATURE_SH_NOFORK to enable NOFORK trick
...
Also expands docs
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-02 18:38:57 +01:00
Denys Vlasenko
8d0e0cdadf
move utmp.h include to libbb.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-25 23:21:46 +01:00
Denys Vlasenko
a146319173
hush: improve prompt in nested {}s, remove unused in_str->promptme member
...
function old new delta
setup_string_in_str 29 38 +9
parse_and_run_stream 79 88 +9
setup_file_in_str 32 39 +7
parse_stream 2430 2422 -8
file_get 262 235 -27
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 25/-35) Total: -10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-18 17:55:04 +01:00
Denys Vlasenko
98c46d10ee
hush: fix "cmd & <newline>" problem
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-18 17:30:07 +01:00
Denys Vlasenko
b9f2d9f7d9
mass removal of underscores from _BB_DIR_foo and _BB_SUID_foo
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-18 13:58:01 +01:00
Denys Vlasenko
642e71a789
hush: fix wrong prompt problem on empty interactive commants
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2011-01-07 15:16:05 +01:00
Denys Vlasenko
6088e138e1
init: simpler handling of leading dash in commands
...
function old new delta
init_exec 233 219 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-25 23:58:42 +01:00
Denys Vlasenko
75eb9d20e9
hush: fix FEATURE_CLEAN_UP code (was freeing unallocated memory)
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-12-21 21:18:12 +01:00
Denys Vlasenko
0d6a4ecb30
hush: fix build breakage (variable declared in for())
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-18 01:34:49 +01:00
Denys Vlasenko
8da415ef25
add if guards around include <malloc.h>
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-05 01:30:14 +01:00
Denys Vlasenko
57542ebe4f
hush: move G_x_mode define to the more appropriate place
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-28 03:59:30 +01:00
Dan Fandrich
85c62470b7
Support set -o xtrace/noexec alternates for set -x/-n
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-28 03:56:39 +01:00
Dan Fandrich
89ca2f99a2
hush: display useful help text
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-28 01:54:39 +01:00
Denys Vlasenko
26777aa1c6
fixes for bugs discovered by randomconfig builds and tests
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-22 23:49:10 +01:00
Denys Vlasenko
7b4c0fd5f4
hush: fix improper handling of newline and hash chars in few corner cases
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-11-22 17:58:14 +01:00
Denys Vlasenko
6696eac274
hush: add support for "set -o pipefail"
...
function old new delta
checkjobs 467 517 +50
builtin_set 259 286 +27
o_opt_strings - 10 +10
hush_main 1011 1013 +2
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/0 up/down: 89/0) Total: 89 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-14 02:01:50 +01:00
Denys Vlasenko
c08c3f5d26
hush: preparatory patch for set -o pipefail support
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-14 01:59:55 +01:00
Denys Vlasenko
fb132e4737
whitespace cleanup
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-29 11:46:52 +02:00
Denys Vlasenko
e4dcba1c10
*: whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-28 18:57:19 +02:00
Denys Vlasenko
cacb2cd281
*: whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-05 00:13:02 +02:00
Denys Vlasenko
e2069fb325
hush: remove "doesn't support brace expansion" from config help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-04 00:01:47 +02:00
Denys Vlasenko
bbecd74d5a
hush: remove brace expansion from TODO list in comments. No code changes.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-03 17:22:52 +02:00
Denys Vlasenko
957f79f471
hush: small code shrink
...
function old new delta
expand_on_ifs 231 222 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-03 17:15:50 +02:00
Denys Vlasenko
2bcba5cc53
hush: add brace expansion testcase
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-03 17:07:57 +02:00
Denys Vlasenko
9e800223f1
hush: implement brace expansion
...
When enabled:
function old new delta
glob_brace - 402 +402
next_brace_sub - 70 +70
expand_on_ifs 185 231 +46
bbconfig_config_bz2 4923 4929 +6
o_save_ptr 282 140 -142
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/1 up/down: 524/-142) Total: 382 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-03 14:28:04 +02:00
Denys Vlasenko
238081f750
hush: preparatory patch, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-03 14:26:26 +02:00
Denys Vlasenko
b563f62bbb
ash: fix signal and "set -e" interaction
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-09-25 17:15:13 +02:00
Denys Vlasenko
0e13b4019c
hush: use smaller EXP_FLAG_foo constants
...
function old new delta
expand_string_to_string 126 124 -2
parse_stream 2376 2370 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-8) Total: -8 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-21 12:35:39 +02:00
Denys Vlasenko
395b97aeac
shell/math: better comment. no code changes
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-17 18:02:17 +02:00
Denys Vlasenko
52e460b744
hush: move shell_ver from globals to main's stack.
...
function old new delta
hush_main 995 1011 +16
pseudo_exec_argv 253 251 -2
execvp_or_die 50 48 -2
maybe_set_to_sigexit 50 47 -3
hush_exit 78 75 -3
builtin_wait 274 271 -3
check_and_run_traps 205 200 -5
init_sigmasks 214 190 -24
builtin_trap 465 441 -24
reset_traps_to_defaults 238 211 -27
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/9 up/down: 16/-93) Total: -77 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-16 16:12:00 +02:00
Denys Vlasenko
bed7c81ea2
shell/math: deconvolute and explain ?: handling. Give better error message
...
function old new delta
arith_apply 1271 1283 +12
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-16 11:50:46 +02:00
Denys Vlasenko
063847d6bd
shell/math: return string error indicator, not integer
...
function old new delta
expand_and_evaluate_arith 87 106 +19
expand_one_var 1563 1570 +7
arith 12 18 +6
evaluate_string 678 680 +2
arith_apply 1269 1271 +2
builtin_umask 133 132 -1
ash_arith 118 75 -43
expand_vars_to_list 1094 1038 -56
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/3 up/down: 36/-100) Total: -64 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-15 13:33:02 +02:00
Denys Vlasenko
0eac8ff164
shell/math.c: stop using bss variable
...
function old new delta
evaluate_string - 678 +678
expand_one_var 1543 1563 +20
builtin_type 114 116 +2
expand_and_evaluate_arith 89 87 -2
prev_chk_var_recursive 4 - -4
ash_arith 122 118 -4
arith_lookup_val 142 132 -10
arith 674 12 -662
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/4 up/down: 700/-682) Total: 18 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-13 12:49:52 +02:00
Denys Vlasenko
06d44d7dfb
shell/math.c: rename arith_eval_hooks to arith_state, put error code into it
...
function old new delta
expand_and_evaluate_arith 79 89 +10
arith 675 674 -1
arith_lookup_val 151 142 -9
ash_arith 135 122 -13
arith_apply 1304 1269 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/4 up/down: 10/-58) Total: -48 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-13 12:49:03 +02:00
Denys Vlasenko
bd14770b0c
shell/math.c: small code shrink; fixed incomprehensible comments
...
function old new delta
arith_apply 1334 1304 -30
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-13 11:11:40 +02:00
Denys Vlasenko
51850c818c
shell: small code shrink
...
function old new delta
arith 680 675 -5
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-13 01:09:11 +02:00
Denys Vlasenko
b771c654ca
shell: shrink arith code; and prepare for returning text error codes
...
function old new delta
arith 701 680 -21
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-13 00:34:26 +02:00
Denys Vlasenko
99862cbfad
hush: optional support for history saving
...
function old new delta
hush_main 945 995 +50
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-12 17:34:13 +02:00
Denys Vlasenko
de8c3f667a
hush: move the EXIT trap comment. no code changes
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-12 16:13:44 +02:00
Denys Vlasenko
a110c90de2
hush: fix EXIT trap display inside exit trap handler
...
function old new delta
hush_exit 84 78 -6
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-12 15:38:04 +02:00
Denys Vlasenko
2d8187c139
shell/match.c: shrink by dropping double bool inversion
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-12 15:06:42 +02:00
Denys Vlasenko
acd5bc8f64
hush: fix handling of \" in quoted/unquoted cmd
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-12 15:05:39 +02:00
Denys Vlasenko
958581a8d9
ash: shrink by folding an if check into setprompt; unindent big block
...
function old new delta
setprompt_if - 66 +66
parseheredoc 126 124 -2
parsecmd 68 66 -2
redirect 1254 1249 -5
xxreadtoken 351 343 -8
readtoken1 3219 3204 -15
setprompt 62 - -62
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/5 up/down: 66/-94) Total: -28 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-12 15:04:27 +02:00
Denys Vlasenko
6040fe88f4
ash: add missing casts to match CTLfoo; add TODO comments
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-12 15:03:16 +02:00
Denys Vlasenko
5277a9db70
hush: remove forgotten commented-out block. no code changes
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-10 15:34:53 +02:00
Denys Vlasenko
4f870496e7
hush: do fewer strdups in % and hash expansions
...
function old new delta
builtin_umask 133 132 -1
expand_one_var 1552 1543 -9
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-10 11:06:01 +02:00
Denys Vlasenko
d98e5c65c3
hush: better function and parameter names
...
Also, trim code which isn't needed for non-bash compat.
No logic changes.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-10 10:44:23 +02:00
Denys Vlasenko
cc461736d6
hush: fixes to testsuite
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-10 10:19:22 +02:00
Denys Vlasenko
ebee410fe2
hush: fix var_bash5.tests failure
...
function old new delta
expand_one_var 1513 1552 +39
expand_pseudo_dquoted 118 135 +17
expand_string_to_string 110 126 +16
setup_heredoc 298 308 +10
expand_and_evaluate_arith 69 79 +10
parse_stream_dquoted 233 241 +8
setup_redirects 220 225 +5
run_list 956 961 +5
expand_assignments 76 81 +5
run_pipe 1587 1590 +3
parse_stream 2371 2374 +3
builtin_umask 132 133 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 12/0 up/down: 122/0) Total: 122 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-10 10:17:53 +02:00
Denys Vlasenko
14e289b324
hush: fix var_bash3.tests failure
...
function old new delta
expand_one_var 1513 1538 +25
parse_stream_dquoted 233 241 +8
expand_pseudo_dquoted 118 126 +8
setup_heredoc 298 303 +5
expand_and_evaluate_arith 69 74 +5
parse_stream 2371 2374 +3
builtin_umask 132 133 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 7/0 up/down: 55/0) Total: 55 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-10 10:15:18 +02:00
Denys Vlasenko
a769e0225d
hush: remove useless ESC_GLOB_CHARS clears/resotres
...
function old new delta
o_addQstr 43 165 +122
expand_on_ifs 210 189 -21
expand_vars_to_list 1122 1094 -28
o_addqblock 139 - -139
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/2 up/down: 122/-188) Total: -66 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-10 10:12:34 +02:00
Denys Vlasenko
bfc02a76c5
hush: fix a bug where expand_one_var wasn't restoring 1st char of the encoded $var
...
function old new delta
expand_one_var 1515 1513 -2
expand_vars_to_list 1133 1122 -11
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-09 14:38:46 +02:00
Denys Vlasenko
101a4e3e21
hush: make parse_dollar flag quited status regardless of glob escaping status
...
function old new delta
parse_stream_dquoted 228 233 +5
parse_stream 2369 2371 +2
parse_dollar 730 717 -13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 7/-13) Total: -6 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-09 14:04:57 +02:00
Denys Vlasenko
5b6210cf49
hush: simplification in parse_stream, parse_stream_dquoted
...
function old new delta
parse_stream 2354 2369 +15
parse_stream_dquoted 250 228 -22
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-09 13:32:21 +02:00
Denys Vlasenko
850b15bfaf
hush: simplify parse_stream_dquoted
...
function old new delta
parse_stream_dquoted 303 250 -53
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-09 12:58:19 +02:00
Denys Vlasenko
77a7b5519c
hush: straighten out the logic in parse_stream
...
function old new delta
parse_stream 2399 2354 -45
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-09 12:40:03 +02:00
Dan Fandrich
77d4872691
Avoid side effects in putc(), which may be implemented as a macro
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-09 11:48:02 +02:00
Denys Vlasenko
95d48f2598
hush: eliminate redundant parameter of expand_vars_to_list()
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-08 13:58:55 +02:00
Denys Vlasenko
5b686cb8e6
hush: replace flag bytes in struct o_string with bit flags
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-08 13:44:34 +02:00
Denys Vlasenko
9b78255dca
hush: remove unused enum typedef
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-08 13:33:26 +02:00
Denys Vlasenko
1fd3d94a6c
hush: fix set -- q w e; (IFS='' echo "$*"; IFS=''; echo "$*"); echo "$*"
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-08 13:31:53 +02:00
Denys Vlasenko
8b2f13d84d
shell: unify endofname() in hush and ash
...
function old new delta
builtin_umask 132 133 +1
changepath 195 194 -1
expand_and_evaluate_arith 77 69 -8
ash_arith 143 135 -8
expand_one_var 1551 1515 -36
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/4 up/down: 1/-53) Total: -52 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-07 12:19:33 +02:00
Denys Vlasenko
27c56f1267
hush: a few relatively trivial simplifications
...
function old new delta
helper_export_local 130 135 +5
set_vars_and_save_old 89 85 -4
expand_variables 147 141 -6
get_ptr_to_local_var 77 70 -7
get_local_var_value 171 164 -7
delete_finished_bg_job 31 16 -15
hush_exit 101 84 -17
free_pipe_list 31 12 -19
check_and_run_traps 232 205 -27
free_pipe 205 130 -75
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/9 up/down: 5/-177) Total: -172 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-07 09:56:34 +02:00
Denys Vlasenko
da463fb007
hush: style cleanups. no code changes
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-07 09:53:50 +02:00
Denys Vlasenko
605067b426
hush: revert a recent buggy change which resulted in two HUSH_VERSIONs
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-06 12:10:51 +02:00
Denys Vlasenko
83b900fb82
fix typo in comment
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-06 11:47:55 +02:00
Denys Vlasenko
c3adfacd22
hush: fix another corner case with backslashes in heredocs
...
function old new delta
parse_stream 2395 2432 +37
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-06 11:46:03 +02:00
Denys Vlasenko
77b32ccbf2
hush: fix backslash and terminator handling in <<[-]["]heredoc["]
...
function old new delta
parse_stream 2339 2395 +56
expand_pseudo_dquoted 104 118 +14
parse_stream_dquoted 296 300 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 74/0) Total: 74 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-06 11:27:32 +02:00
Denys Vlasenko
c49d2d9793
hush: fix globbing+backslashes in unquoted $var expansion
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-06 10:26:37 +02:00
Denys Vlasenko
d383b49aef
hush: remove disabled CMD_SINGLEWORD_NOGLOB_COND, rename o_glob->perform_glob
...
+ other small tweaks to comments and such
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-06 10:22:13 +02:00
Denys Vlasenko
96f064d416
shell: remove lash and bbsh
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-06 10:18:21 +02:00
Denys Vlasenko
b36abf2dfc
hush: big reordering: move parser functions to the beginning. no code changes
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-05 14:50:59 +02:00
Denys Vlasenko
38292b68c9
hush: rename o_quoted to has_quoted_part; small code shrink
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-05 14:49:40 +02:00
Denys Vlasenko
f2dc20c2d5
hush: move variable expansion into a separate function. No logic changes
...
function old new delta
expand_one_var - 1551 +1551
expand_vars_to_list 2833 1175 -1658
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 1551/-1658) Total: -107 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-05 14:48:11 +02:00
Denys Vlasenko
36f774a0cd
hush: add support for ${var/pattern/repl}, conditional on bash compat
...
function old new delta
expand_vars_to_list 2386 2833 +447
expand_string_to_string 69 110 +41
parse_dollar 681 721 +40
hush_main 963 945 -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 528/-18) Total: 510 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-05 14:47:58 +02:00
Denys Vlasenko
701e127f7d
hush: optimize #[#] and %[%] for speed. size -2 bytes.
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-04 21:21:07 +02:00
Denys Vlasenko
e298ce69ba
hush: fix handling of backslashes in variable assignment
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-09-04 19:52:44 +02:00
Denys Vlasenko
8d3e225a2d
libbb: add xfstat function
...
function old new delta
xfstat - 25 +25
mkfs_ext2_main 2421 2423 +2
mkfs_reiser_main 1197 1194 -3
next 312 307 -5
ar_main 533 522 -11
mkfs_minix_main 2938 2924 -14
mkfs_vfat_main 1511 1495 -16
writeTarFile 272 255 -17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/6 up/down: 27/-66) Total: -39 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-31 12:42:06 +02:00
Denys Vlasenko
0ff78a0166
ash: small code shrink (-21 bytes)
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-30 15:20:07 +02:00
Denys Vlasenko
f7a8433535
ash: add another ${v/a/b} test we currently fail
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-30 13:54:12 +02:00
Denys Vlasenko
b32a543663
nandwrite: complain on malformed -s NUM
...
Elsewhere: use common error message. -30 bytes net size change
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-29 13:29:02 +02:00
Denys Vlasenko
0ef64bdb40
*: make GNU licensing statement forms more regular
...
This change retains "or later" state! No licensing _changes_ here,
only form is adjusted (article, space between "GPL" and "v2" and so on).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 20:14:46 +02:00
Denys Vlasenko
7783248eaa
*: s/xatoi_u/xatoi_positive/g - I got bored of mistyping xatoi_u as xatou_i
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-12 14:14:45 +02:00
Denys Vlasenko
33bbb27e45
ash: fix another bit of var_bash4 bug
...
But it _still_ doesn't pass! quoted case is a tough nut to crack
function old new delta
redirect 1281 1286 +5
subevalvar 1141 1142 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-07 22:24:36 +02:00
Denys Vlasenko
09dd6ec732
ash: cosmetic fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-07 02:44:33 +02:00
Denys Vlasenko
1614900522
ash: fix another bug detected by var_bash4.tests
...
... but var_bash4.tests still does not pass!
function old new delta
expandarg 959 962 +3
localcmd 259 257 -2
readtoken1 3275 3260 -15
subevalvar 1178 1141 -37
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 3/-54) Total: -51 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-06 22:06:21 +02:00
Denys Vlasenko
c8d305d89f
var_bash4.tests: better wording in comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-06 19:28:04 +02:00
Denys Vlasenko
f02c82f38c
ash: fix dequoting error detected by var_bash4 test
...
But the test still fails (one more bug to fix)
function old new delta
changepath 195 192 -3
readtoken1 3247 3240 -7
subevalvar 1204 1184 -20
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-30) Total: -30 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-06 19:14:47 +02:00
Denys Vlasenko
f56fe82542
update var_bash4 test. one more bug revealed by it now...
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-06 17:21:52 +02:00
Denys Vlasenko
6814cbc928
ash: extend var_bash4.tests; nocode changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-05 18:29:13 +02:00
Denys Vlasenko
b0fbe4b540
ash: add a testcase for bug 2281 (currently fails). Small code cleanups.
...
function old new delta
changepath 195 192 -3
subevalvar 1204 1200 -4
readtoken1 3247 3240 -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-14) Total: -14 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-05 17:19:27 +02:00
Denys Vlasenko
17662801ec
cttyhack: make it survive WERROR build
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-30 17:41:35 +02:00
Jeremie Koenig
430ba79c39
cttyhack: serial console detection is Linux-specific
...
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-30 17:40:37 +02:00
Alexander Shishkin
17e0e43c35
ulimit: set both hard and soft limits by default
...
function old new delta
shell_builtin_ulimit 494 498 +4
Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-27 08:40:55 +02:00
Denys Vlasenko
ba2dcccd79
*: trailing empty lines removed
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-26 01:49:12 +02:00
Denys Vlasenko
f3ea792bad
*: mass cosmetic removal of extra empty lines. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-26 01:06:14 +02:00
Alexander Shishkin
ccb9771861
ash: fix $! value when traps are set
...
Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-25 13:07:39 +02:00
Jeremie Koenig
1d7266d3b5
mark Linux-specific configuration options
...
PLATFORM_LINUX is used as a dependency for applets or features
which require Linux-specific interfaces.
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-19 00:44:56 +02:00
Denys Vlasenko
6adf2aad38
hush: move msh/lash config into hush.c, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-16 19:26:38 +02:00
Denys Vlasenko
51ca7761a3
cttyhack: move build system bits into cttyhack.c, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-16 17:16:40 +02:00
Denys Vlasenko
771f1995a9
ash: move config stuff into ash.c, no code chages
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-16 14:31:34 +02:00
Denys Vlasenko
29082231d0
hush: fix multimple dependent variable expansion cases
...
function old new delta
get_local_var_value 100 171 +71
expand_assignments 46 76 +30
reset_traps_to_defaults 229 238 +9
maybe_set_to_sigexit 47 50 +3
init_sigmasks 211 214 +3
builtin_trap 462 465 +3
expand_vars_to_list 2412 2408 -4
run_pipe 1568 1533 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/2 up/down: 119/-39) Total: 80 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-16 13:52:32 +02:00
Denys Vlasenko
202a2d1219
hush: make set -x support optional
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-16 12:36:14 +02:00
Denys Vlasenko
3f5fae0772
hush: add support for set -x
...
function old new delta
run_pipe 1442 1568 +126
dump_cmd_in_x_mode - 126 +126
builtin_trap 441 462 +21
pseudo_exec_argv 171 187 +16
reset_traps_to_defaults 214 229 +15
check_and_run_traps 227 232 +5
hush_exit 98 101 +3
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 6/0 up/down: 312/0) Total: 312 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-16 12:35:35 +02:00
Denys Vlasenko
b3389de04b
hush: fix typo in comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-15 12:33:37 +02:00
Denys Vlasenko
8fa1f5d543
hush: fix faloout from previous commit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-15 08:18:46 +02:00
Denys Vlasenko
889550b36b
hush: make pun_pipe loop clearer; fix "cmd | var=cmd
| cmd" handling
...
function old new delta
free_strings - 38 +38
pseudo_exec_argv 161 171 +10
free_pipe 227 205 -22
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 48/-22) Total: 26 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-14 19:01:25 +02:00
Denys Vlasenko
9297dbc9d2
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-05 21:37:12 +02:00
Pascal Bellard
926031b764
*: introduce and use xfork() and xvfork()
...
function old new delta
launch_helper 170 169 -1
setup_heredoc 312 302 -10
handle_dir_common 367 354 -13
expand_vars_to_list 2456 2443 -13
open_transformer 89 74 -15
data_extract_to_command 439 423 -16
do_ipaddr 1406 1389 -17
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-85) Total: -85 bytes
Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-04 15:32:38 +02:00
Pascal Bellard
21e8e8da64
libbb: introduce and use BB_EXECVP_or_die()
...
function old new delta
BB_EXECVP_or_die - 47 +47
time_main 1042 1043 +1
chrt_main 371 364 -7
ionice_main 292 282 -10
setsid_main 69 56 -13
nohup_main 236 223 -13
cttyhack_main 266 253 -13
chroot_main 94 81 -13
chpst_main 746 733 -13
timeout_main 297 279 -18
taskset_main 541 522 -19
vfork_child 67 45 -22
parse 975 953 -22
lpd_main 770 748 -22
launch_helper 192 170 -22
tcpudpsvd_main 1810 1782 -28
nice_main 190 156 -34
env_main 242 206 -36
run_command 221 174 -47
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/17 up/down: 48/-352) Total: -304 bytes
Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-04 00:57:03 +02:00
Denys Vlasenko
fd33e17a2b
ash: fix obscure case of replacing + globbing + backslashes
...
function old new delta
subevalvar 1152 1178 +26
readtoken1 3267 3275 +8
redirect 1284 1286 +2
expandarg 957 958 +1
expdir 4 - -4
evalcommand 1219 1209 -10
expmeta 481 469 -12
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/2 up/down: 37/-26) Total: 11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-26 22:55:44 +02:00
Denys Vlasenko
1fcbff2fac
build system: do not rebuild ash and hush on any change to any .c file
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-26 02:40:08 +02:00
Andreas Bühmann
da75f44844
ash: <> redir should not truncate
...
Signed-off-by: Andreas Bühmann <buehmann@users.berlios.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-24 04:32:37 +02:00
Dan Fandrich
fdd7b566ec
A few minor portability improvements
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-19 20:03:15 +02:00
Denys Vlasenko
8cd9f343e7
ash: times builtin: use unsigned type; take free-of-charge modulo
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-18 15:36:48 +02:00
Denys Vlasenko
b87c17cd16
*: stop defining _GNU_SOURCE in source files, it's in CFLAGS anyway
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-18 15:15:24 +02:00
Denys Vlasenko
7df28bbb8f
ash: fix unset in standalone mode
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-18 14:23:47 +02:00
Denys Vlasenko
1ed2fb40c9
ash: cosmetics, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-18 14:09:48 +02:00
Denys Vlasenko
d70e0e995e
*: add INSERTs to *.src files where appropriate
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-08 12:15:11 +02:00
Denys Vlasenko
729ecb87bf
bbconfig: make it independent from printf functions
...
function old new delta
full_write2_str - 25 +25
full_write1_str - 25 +25
clear_main 21 20 -1
telnet_main 1488 1477 -11
getty_main 1932 1918 -14
full_write22_str 25 - -25
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 0/3 up/down: 50/-51) Total: -1 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-07 14:14:26 +02:00
Denys Vlasenko
121fb9506b
typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-07 13:34:34 +02:00
Denys Vlasenko
c8aae0b2a0
fix allnoconfig
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-06 22:14:58 +02:00
Denys Vlasenko
161bb8fa12
fix a few goofs uncovered by "make allnoconfig" testing
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-06 05:07:11 +02:00
Denys Vlasenko
2f32bf8be6
remove defconfig. Now "make defconfig" simply uses defaults from Config.in
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-06 04:14:28 +02:00
Denys Vlasenko
da929a95aa
mass renaming Kbuild -> Kbuild.src, Config.in -> Config.src
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-04 20:10:51 +02:00
Denys Vlasenko
79b3d42e13
ash: rename parsefile->fd to ->pf_fd
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-03 04:29:08 +02:00
Denys Vlasenko
08d8b3cee1
ash: fix redirection of fd 0 in scripts are sourced from interactive ash
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-03 04:28:28 +02:00
Denys Vlasenko
ea8b252cb3
*: better string sharing
...
text data bss dec hex filename
849427 441 7556 857424 d1550 busybox_old
849355 441 7556 857352 d1508 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-02 12:57:26 +02:00
Denys Vlasenko
8837c5dec4
ash: remove one redundant function, improve string sharing, better field names
...
function old new delta
var_end - 15 +15
changepath 194 192 -2
setvareq 222 218 -4
lookupvar 57 51 -6
bltinlookup 57 51 -6
evalfun 452 443 -9
varequal 14 - -14
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/5 up/down: 15/-41) Total: -26 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-02 12:56:18 +02:00
Denys Vlasenko
599ae1eb9f
shell: consolidate builtin_foo.? into shell_common.?; delete obsolete shells
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-23 17:49:50 +02:00
Denys Vlasenko
8391c4800c
hush: trivial code shrink
...
function old new delta
static_get 26 22 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 17:50:43 +02:00
Denys Vlasenko
2e48d536ce
hush: reduce #ifdef forest a bit, rename handle_dollar -> parse_dollar
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 17:30:39 +02:00
Denys Vlasenko
5ae8f1cdbe
hush: fix hush -c 'echo $0' - was showing empty string
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 06:32:11 +02:00
Denys Vlasenko
e85248afa2
hush: fix segfault in ${?:N:M}
...
function old new delta
expand_vars_to_list 2374 2409 +35
builtin_umask 132 133 +1
builtin_exit 47 48 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 37/0) Total: 37 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 06:20:26 +02:00
Denys Vlasenko
8a33679694
hush: fix "hush -c 'echo $#'" showing -1
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 06:05:02 +02:00
Denys Vlasenko
1e811b1231
hush: support ${var:EXPR:EXPR}!
...
function old new delta
handle_dollar 574 681 +107
expand_and_evaluate_arith - 77 +77
expand_vars_to_list 2302 2374 +72
add_till_closing_bracket 359 368 +9
builtin_exit 48 47 -1
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/1 up/down: 265/-1) Total: 264 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 03:12:29 +02:00
Denys Vlasenko
ddc62f64ba
hush: fix a nommu todo in recent commits
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 00:53:32 +02:00
Denys Vlasenko
a6ad397ea9
hush: fix more obscure ${var%...} cases
...
function old new delta
add_till_closing_paren 313 359 +46
builtin_exit 48 47 -1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-22 00:26:06 +02:00
Denys Vlasenko
7436950a75
hush: fix a=abc; c=c; echo ${a%${c}}
...
function old new delta
expand_vars_to_list 2229 2302 +73
add_till_closing_paren 286 313 +27
handle_dollar 623 574 -49
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 100/-49) Total: 51 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-21 19:52:01 +02:00
Denys Vlasenko
3f78cec347
hush: handle expansions in ${var?expanded_word} constructs
...
function old new delta
expand_vars_to_list 2209 2229 +20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-21 17:54:46 +02:00
Denys Vlasenko
349ef96bb5
hush: reorganized TODO comment at top
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-21 15:46:24 +02:00
Denys Vlasenko
214b8ca3dc
hush: add a list of unsupported builtins
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-21 15:35:44 +02:00
Denys Vlasenko
73e013fca7
hush: handle ${var:NUM:} too
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-21 15:24:12 +02:00
Denys Vlasenko
4f2c59b267
hush: remove extra comparison from prev commit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-21 01:25:16 +02:00
Denys Vlasenko
4d8e5fdc1d
hush: optional support for ${var:N:M} bashism
...
function old new delta
expand_vars_to_list 1999 2183 +184
handle_dollar 682 623 -59
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-21 01:15:42 +02:00
Denys Vlasenko
53b513331a
hush: explain various parameter expansion ops in comments
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 21:46:45 +02:00
Denys Vlasenko
ee0775dd13
hush: small code shrink
...
function old new delta
expand_vars_to_list 2012 1999 -13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 16:37:53 +02:00
Denys Vlasenko
e3be7842be
hush: shrink variable expansion code
...
function old new delta
expand_vars_to_list 2164 2012 -152
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 16:27:42 +02:00
Denys Vlasenko
cddbb610cb
hush: fix var=exit 2
not setting $? to 2
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 14:27:09 +02:00
Denys Vlasenko
131ed3bcc9
update shell/README
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 12:56:14 +02:00
Denys Vlasenko
a0ec4f500c
ash: eliminate 16 bytes in bss
...
text data bss dec hexfilename
841423 441 7572 849436 cf61cbusybox_old
841430 441 7556 849427 cf613busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 12:50:42 +02:00
Denys Vlasenko
44c86ce5d7
hush: code shrink
...
text data bss dec hex filename
843121 453 6828 850402 cf9e2 busybox_old
843108 453 6828 850389 cf9d5 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 04:22:55 +02:00
Denys Vlasenko
b131ccec9c
hush: support "cd -- DIR" and such
...
function old new delta
skip_dash_dash - 33 +33
builtin_exit 43 48 +5
builtin_umask 121 125 +4
builtin_shift 115 119 +4
builtin_cd 71 75 +4
builtin_wait 271 274 +3
builtin_source 171 174 +3
builtin_exec 57 60 +3
builtin_eval 46 45 -1
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/1 up/down: 59/-1) Total: 58 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 03:39:43 +02:00
Denys Vlasenko
40477e2fdb
shell: make it possible to alias one of shells to "bash"
...
function old new delta
packed_usage 27047 27054 +7
applet_names 2227 2232 +5
applet_main 1304 1308 +4
applet_nameofs 652 654 +2
applet_install_loc 163 164 +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 19/0) Total: 19 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-20 02:09:45 +02:00
Denys Vlasenko
42c4b2e3b5
ash: fix var_leak.tests so that it actually catches the NOFORK bug
...
+ document the bug better
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-18 16:13:56 +02:00
Denys Vlasenko
c7f95d23f6
typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-18 15:52:23 +02:00
Denys Vlasenko
238bf187ba
ash: fix bug which causes signal6.tests to fail
...
function old new delta
trapcmd 271 277 +6
localcmd 277 275 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-18 15:49:07 +02:00
Denys Vlasenko
51b4a9e2f1
ash: fix var_leak testcase
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-18 14:35:20 +02:00
Denys Vlasenko
5e2d572381
ash: fix testsuite false positives
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-18 14:11:21 +02:00
Denys Vlasenko
e66cf821cf
ash,hush: make bare "." set exitcode to 2
...
function old new delta
dotcmd 300 305 +5
builtin_source 176 171 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-18 09:12:53 +02:00
Denys Vlasenko
0e81e488fd
shell/README: describe special builtins
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 23:51:00 +02:00
Denys Vlasenko
adc0e20892
hush: update bash compat todo comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 18:56:58 +02:00
Denys Vlasenko
82731b4b7a
ash,hush: make "source" a synonym for . if bash compat is on
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 17:49:52 +02:00
Denys Vlasenko
cd10dc40e4
ash: fix ". empty_file" exitcode. +5 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 17:10:46 +02:00
Denys Vlasenko
786cce1871
fix false positive in signal5.tests
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 10:14:20 +02:00
Denys Vlasenko
82dd14a510
ash: use CONFIG_FEATURE_EDITING_MAX_LEN
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 10:10:01 +02:00
Denys Vlasenko
ef215558fa
typo fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 09:55:13 +02:00
Denys Vlasenko
3227d3f982
hush: fix hush-bugs/parse_err.tests
...
function old new delta
parse_stream 2325 2339 +14
builtin_umask 121 123 +2
builtin_type 116 114 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 09:49:47 +02:00
Denys Vlasenko
0f01b00d74
add two more tests which currently fail
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 04:57:55 +02:00
Denys Vlasenko
7c1ed9fbde
ash: fix signal5.tests
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 04:42:40 +02:00
Denys Vlasenko
27ff681cfa
ash: add two testcases for (not yet fixed) ash bugs
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-17 02:56:18 +02:00
Denys Vlasenko
8806d64acd
hush: mention PPID, RANDOM support
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-16 02:36:18 +02:00
Denys Vlasenko
b367bb2a62
cttyhack: document the need to setsid
...
function old new delta
packed_usage 26988 27057 +69
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-15 20:43:07 +02:00
Denys Vlasenko
5055a9f989
cttyhack: don't do anything if ctty is already available
...
function old new delta
cttyhack_main 244 269 +25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-14 04:08:20 +02:00
Colin Watson
3963d943f8
ash: refresh stack pointers after makestrspace in rmescapes
...
Without this, rmescapes sometimes returns random garbage while
performing parameter expansions such as ${foo#bar}, in the event that
the allocation of r happens to need to reallocate the stack and hence
invalidate str and p. I'd love to provide a test case but unfortunately
it's dependent on exact stack layout, so I don't have anything simpler
than the situation described in
https://bugs.launchpad.net/ubuntu/+source/partman-base/+bug/527401/comments/23
which involved a sequence of foo="${foo#*, }" expansions on a long
string inside our RAID configuration tool.
The same fix has been in dash since 2007-09-26, contributed by Roy
Marples <uberlord@gentoo.org>. I actually came up with it independently
almost to the character, but then synced it up with the variable naming
used in dash when I noticed that change afterwards.
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-26 14:21:27 +02:00
Denys Vlasenko
023a08f229
ash: line up builtin table. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-26 15:53:33 +01:00
Denys Vlasenko
496d5bf4c6
ash: trap with bad signal name should not abort
...
function old new delta
trapcmd 236 271 +35
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-26 15:52:24 +01:00
Denys Vlasenko
651a2697f7
*: merge some common strings
...
text data bss dec hexfilename
838650 8009 0 846659 ceb43busybox_old
838519 8009 0 846528 ceac0busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-23 16:25:17 +01:00
Denys Vlasenko
1497484839
ash,hush: make it possible to build them individually
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-23 01:08:26 +01:00
Denys Vlasenko
b76356b28e
ash: fix quadratic matching slowdown is ${v/*foo*/repl} (really bad one)
...
It is especially bad with patterns starting with "*".
With ASH_OPTIMIZE_FOR_SIZE=y, only those are optimized, +few bytes:
text data bss dec hex filename
836337 441 7564 844342 ce236 busybox_old
836341 441 7564 844346 ce23a busybox_unstripped
With ASH_OPTIMIZE_FOR_SIZE off, we also optimize patterns _ending_ with "*",
which costs about 80 bytes:
text data bss dec hex filename
836656 441 7564 844661 ce375 busybox_old
836732 441 7564 844737 ce3c1 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-13 16:19:04 +01:00
Denys Vlasenko
f15620c377
shell/ulimit: code shrink by 10 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-08 23:28:30 +01:00
Denys Vlasenko
f3c742f925
hush: use ash's ulimit builtin; make it more more bash0like while at it
...
Based on a patch by Tobias Klauser <tklauser@distanz.ch>
function old new delta
shell_builtin_ulimit - 498 +498
limits_tbl 33 88 +55
ulimit_opt_string - 38 +38
bltins1 288 300 +12
limits_name 127 - -127
ulimitcmd 415 7 -408
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 2/1 up/down: 603/-535) Total: 68 bytes
text data bss dec hex filename
839229 453 6828 846510 ceaae busybox_old
839423 453 6828 846704 ceb70 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-06 20:12:00 +01:00
Denys Vlasenko
4b1100edd8
*: use NULL for null pointers
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-05 14:10:54 +01:00
Denys Vlasenko
153fcaa6c1
Replace __uClinux__ define with !BB_MMU
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-21 05:17:41 +01:00
Denys Vlasenko
7426920461
fix bug 1087. Fix by Leonid (lly.dev AT gmail.com)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-21 01:26:42 +01:00
Denys Vlasenko
14a917eaab
hush: note a FIXME
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-08 03:04:22 +01:00
Denys Vlasenko
083e172641
style fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-28 12:30:24 +01:00
Denys Vlasenko
6b9f163353
*: style fixes. no code changes (verified with objdump)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-28 02:24:24 +01:00
Denys Vlasenko
17323a6245
hush: more "greppable" field names. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-28 01:57:05 +01:00
Denys Vlasenko
3581c62515
whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-25 13:39:24 +01:00
Denys Vlasenko
6b01b71e83
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-24 22:52:21 +01:00
Denys Vlasenko
85d286efc8
ash: remove config items for read options which are no longer optional
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 18:31:29 +01:00
Denys Vlasenko
25d9b91d94
shell/read: check that variable names are sane
...
function old new delta
shell_builtin_read 1000 1055 +55
parse_command 1460 1463 +3
builtin_umask 121 123 +2
is_well_formed_var_name 73 66 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 18:22:35 +01:00
Denys Vlasenko
03d81ef43a
builtin_read: note about better implementation
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 14:53:49 +01:00
Denys Vlasenko
03dad22f8a
hush: use ash's read builtin
...
function old new delta
shell_builtin_read - 1000 +1000
set_local_var_from_halves - 24 +24
setvar2 - 7 +7
...
popstring 140 134 -6
ash_main 1375 1368 -7
setvar 184 174 -10
arith_set_local_var 36 - -36
builtin_read 1096 185 -911
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 5/23 up/down: 1038/-1007) Total: 31 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 23:29:57 +01:00
Denys Vlasenko
045f4ad92c
shell/read: fix "'read' without parameters" bash compat thingy
...
previous change:
function old new delta
builtin_read 82 1074 +992
popstring 134 140 +6
readcmd 1034 148 -886
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 998/-886) Total: 112 bytes
this change:
builtin_read 1074 1096 +22
static.arg_REPLY 8 - -8
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/0 up/down: 22/-8) Total: 14 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 22:12:10 +01:00
Denys Vlasenko
7306727d1b
shell: split read builtin from ash
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 22:11:24 +01:00
Denys Vlasenko
6c93b24ce9
hush: fix potential buffer overflow on NOMMU
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 19:28:10 +01:00
Denys Vlasenko
e89a241b9e
hush: fix subshell.tests failure on NOMMU
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 15:19:31 +01:00
Denys Vlasenko
b70cef71eb
hush: two NOMMU fixes for bugs 877 and 883
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 13:45:45 +01:00
Denys Vlasenko
f2c8aa6676
libbb: introduce and use monotonic_ms
...
function old new delta
monotonic_ms - 60 +60
process_stdin 433 443 +10
display_speed 85 90 +5
nmeter_main 672 674 +2
builtin_type 114 116 +2
bb__parsespent 117 119 +2
ifplugd_main 1110 1109 -1
acpid_main 441 440 -1
chat_main 1361 1359 -2
doCommands 2458 2449 -9
arpping 466 450 -16
run_command 268 234 -34
readcmd 1072 1034 -38
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/7 up/down: 81/-101) Total: -20 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 12:52:30 +01:00
Denys Vlasenko
385cc59117
hush: plug a memory leak
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 06:47:39 +01:00
Denys Vlasenko
8cd04d1cb6
ash: fix for read $IFS splitting. Closes bug 235
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-08 15:44:07 +01:00
Chris Metcalf
c3c1fb676b
ash: fix mishandling of bash-style redirects
...
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-08 13:18:06 +01:00
Denys Vlasenko
2ec91aead5
*: remove some uses of argc
...
function old new delta
whoami_main 34 37 +3
logname_main 60 63 +3
hostid_main 35 38 +3
ttysize_main 136 135 -1
nmeter_main 673 672 -1
logger_main 387 386 -1
uuencode_main 330 328 -2
ifupdown_main 2125 2123 -2
mesg_main 158 155 -3
free_main 333 330 -3
cal_main 902 899 -3
acpid_main 443 440 -3
ar_main 196 189 -7
find_main 476 467 -9
ifconfig_main 1235 1221 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/12 up/down: 9/-49) Total: -40 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-04 14:15:38 +01:00
Denys Vlasenko
a4899efd03
hush: fix exitcodes of killed processes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-04 11:37:09 +01:00
Denys Vlasenko
46a1477107
ash: trivial optimization -6 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-10 21:27:13 +01:00
Denys Vlasenko
e9ac32a067
ash: fix double comma in initializer
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-05 02:01:25 +01:00
Michael Abbott
359da5e3be
ash: implement set -o pipefail (conditional on bash compat). +39 bytes
...
Signed-off-by: Michael Abbott <michael@araneidae.co.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-04 23:03:29 +01:00
Denys Vlasenko
285ad155c4
ash: preparatory work for pipefail and code shrink. -44 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-04 23:02:27 +01:00
Denys Vlasenko
7a7b034482
ash: re-enable SIGHUP on entry. Closes bug 771.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-04 04:18:31 +01:00
Denys Vlasenko
8eda4a9005
ash: straighten up a bit of code in varvalue()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-30 12:16:17 +01:00
Denys Vlasenko
2ce42e98d7
ash: more cosmetics and cleanups
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29 02:18:13 +01:00
Denys Vlasenko
068d386a6c
ash: cosmetics, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29 01:41:11 +01:00
Denys Vlasenko
76bc2d6deb
ash: remove last "signed char"; make SIT() clearer. -12 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29 01:37:46 +01:00
Denys Vlasenko
0337e038a9
ash: randmconfig fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29 00:12:30 +01:00
Denys Vlasenko
cd71683ae6
ash: remake strange signed char machinery to be unsigned. -57 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-28 22:14:02 +01:00
Denys Vlasenko
160b9ca731
ntpd: make it NOMMU-safe; ash: exclude it on NOMMU builds
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-27 02:35:15 +01:00
Denys Vlasenko
c270454f8f
fix fallout from isprint() changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-20 19:14:19 +01:00
Denys Vlasenko
f3e2818895
hush: improve HUSH_BRACE_EXP code (still disabled). ~0 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-17 03:35:31 +01:00
Denys Vlasenko
160746b603
tweak in comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-16 05:51:18 +01:00
Denys Vlasenko
5b2db97703
hush: initial stab at brace expansion support
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-16 05:49:36 +01:00
Denys Vlasenko
d8389ad760
hush: fix handling of words with braces. +65 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-16 03:18:46 +01:00
Denys Vlasenko
00243b0a1a
hush: fix exit code propagation from cmd
. +45 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-16 02:00:03 +01:00
Denys Vlasenko
a7ccdeef39
libbb: added xfdopen_for_read/write
...
function old new delta
xfdopen_helper - 40 +40
logdir_open 1163 1184 +21
process_stdin 433 443 +10
xfdopen_for_write - 9 +9
doCommands 2465 2474 +9
patch_main 1214 1222 +8
bbunpack 457 465 +8
xfdopen_for_read - 7 +7
scan_tree 258 262 +4
xstrtoul_range_sfx 230 231 +1
sendmail_main 957 955 -2
passwd_main 1027 1023 -4
parse 969 964 -5
test_main 253 247 -6
sed_main 655 649 -6
dos2unix_main 437 429 -8
fbsplash_main 950 938 -12
handle_dir_common 371 354 -17
expand_vars_to_list 2197 2169 -28
update_passwd 1275 1246 -29
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 7/10 up/down: 117/-117) Total: 0 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15 23:28:11 +01:00
Denys Vlasenko
647553a4fc
hush: wait for cmd
to complete, and immediately store its exitcode in $?
...
function old new delta
expand_vars_to_list 2129 2197 +68
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15 19:58:19 +01:00
Denys Vlasenko
0d8c0b810e
removed SuSv3 doc tarball - potential licensing problem
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-06 04:11:22 +01:00
Denys Vlasenko
8131eea3dc
*: introduce and use ffulsh_all()
...
function old new delta
buffer_fill_and_print 179 196 +17
fflush_all - 9 +9
spawn 87 92 +5
rtcwake_main 455 453 -2
...
alarm_intr 93 84 -9
readcmd 1072 1062 -10
bb_ask 345 333 -12
more_main 845 832 -13
flush_stdout_stderr 42 23 -19
xfflush_stdout 27 - -27
flush_stderr 30 - -30
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 2/50 up/down: 31/-397) Total: -366 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-02 14:19:51 +01:00
Denys Vlasenko
f2cbb03a37
*: optimize most of isXXXXX() macros
...
text data bss dec hex filename
824164 453 6812 831429 cafc5 busybox_old
823730 453 6812 830995 cae13 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 03:16:08 +02:00
Denys Vlasenko
c1947f18f5
build failure fix and some cosmetics
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-23 01:30:26 +02:00
Denys Vlasenko
c0dab37d0a
*: remove last function calls to isspace
...
function old new delta
xstrtoul_range_sfx 232 231 -1
xstrtoull_range_sfx 295 293 -2
trim 82 80 -2
trim_trailing_spaces_and_print 57 52 -5
isspace 18 - -18
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-22 22:28:08 +02:00
Denys Vlasenko
3ef4f77620
hush: fix exec builtin in a better way (+ "glob in exec" bug fixed)
...
function old new delta
execvp_or_die - 50 +50
static.pseudo_null_str 3 - -3
builtin_exec 83 57 -26
pseudo_exec_argv 200 163 -37
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 50/-66) Total: -16 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-19 23:09:06 +02:00
Denys Vlasenko
aaa22d2493
hush: use configured max line length, not BUFSIZE from libc
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-19 16:34:39 +02:00
Denys Vlasenko
36df04837a
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-19 16:07:28 +02:00
Denys Vlasenko
3b3ccdc5bc
hush: remove superfluous assignment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-19 13:24:07 +02:00
Denys Vlasenko
8bc7f2c5aa
hush: make it compile again :/
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-19 13:20:52 +02:00
Denys Vlasenko
c0836530f1
hush: cosmetics. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-19 13:13:06 +02:00
Denys Vlasenko
f37eb3999b
hush: fix handling of empty arguments
...
function old new delta
builtin_exec 25 83 +58
parse_stream 2242 2261 +19
run_pipe 1782 1787 +5
static.pseudo_null_str - 3 +3
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/0 up/down: 85/0) Total: 85 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-18 11:46:35 +02:00
Mike Frysinger
28736c36ca
hush: handle empty execs
...
Sometimes variable expansions yield empty strings, and if they happen to
be a command someone wants to run like `$foo`, then hush currently
segfaults. So handle `` and $().
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-18 01:15:36 -04:00
Mike Frysinger
4ebc76c8a2
hush: add a printf builtin
...
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-15 03:33:31 -04:00
Mike Frysinger
ccb1959aa5
hush: unify handling of builtin applets
...
Saves about 10 bytes for each additional builtin applet.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-10-15 03:33:31 -04:00
Denys Vlasenko
76ace254e1
ash,hush: fix $RANDOM in children being repeated
...
function old new delta
next_random 46 68 +22
forkshell 248 263 +15
expand_vars_to_list 2118 2131 +13
run_pipe 1775 1782 +7
popstring 134 140 +6
builtin_umask 123 121 -2
ash_main 1356 1336 -20
get_local_var_value 125 104 -21
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/3 up/down: 63/-43) Total: 20 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-12 15:25:01 +02:00
Denys Vlasenko
8c66a9d07a
hush: shrink $RANDOM support
...
function old new delta
get_local_var_value 104 125 +21
hush_main 1024 983 -41
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-11 02:15:49 +02:00
Denys Vlasenko
e7670ff81d
ash: use bbox wrappers for malloc etc instead of homegrown ones
...
function old new delta
popstring 134 140 +6
ckmalloc 9 - -9
ckstrdup 22 - -22
ckrealloc 24 - -24
ckzalloc 28 - -28
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 1/0 up/down: 6/-83) Total: -77 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-11 00:45:25 +02:00
Denys Vlasenko
0e5e4eaf7b
ash: trivial shrink by using smaller int
...
function old new delta
copynode 197 196 -1
calcsize 127 126 -1
nodesize 54 27 -27
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-29) Total: -29 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-11 00:36:20 +02:00
Denys Vlasenko
e3c6e19015
laguage and copyright date corrections, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-09 23:35:30 +02:00
Denys Vlasenko
3dc4a3e4dc
ash: make one testsuite entry more robust
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-09 23:08:28 +02:00
Denys Vlasenko
69d1f45c16
shell/Config.in: forgotten chunk with CONFIG_HUSH_RANDOM_SUPPORT
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-09 22:11:30 +02:00
Denys Vlasenko
cbe0b7fb59
hush: fix cut-n-paste error in last commit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-09 22:00:58 +02:00
Denys Vlasenko
20b3d144e9
hush: add support for $RANDOM. If on:
...
function old new delta
hush_main 983 1024 +41
get_local_var_value 72 104 +32
block_signals 155 161 +6
reset_traps_to_defaults 211 214 +3
builtin_wait 268 271 +3
pseudo_exec_argv 198 200 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/0 up/down: 87/0) Total: 87 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-09 20:59:39 +02:00
Denys Vlasenko
3ea2e82dc7
ash: factor out $RANDOM support
...
function old new delta
next_random - 46 +46
ash_main 1361 1356 -5
change_random 132 97 -35
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 46/-40) Total: 6 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-09 20:59:04 +02:00
Denys Vlasenko
dea478855f
hush: support $PPID
...
function old new delta
get_local_var_value 33 72 +39
hush_main 951 983 +32
block_signals 152 155 +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 74/0) Total: 74 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-09 15:40:49 +02:00
Denys Vlasenko
adf922ec28
*: a few more NOINLINEs
...
function old new delta
print_linkinfo - 815 +815
do_msg - 783 +783
INET_setroute - 757 +757
varvalue - 746 +746
do_sem - 637 +637
inflate_codes - 617 +617
INET6_setroute - 491 +491
edir - 370 +370
sync_cursor - 298 +298
update_utmp - 246 +246
searchLines - 165 +165
setup_alarm - 144 +144
may_wakeup - 101 +101
getNum 566 371 -195
refresh 1166 848 -318
rtcwake_main 809 479 -330
getty_main 2396 1921 -475
chpst_main 1373 746 -627
inflate_unzip_internal 1335 567 -768
evalvar 1384 612 -772
ipaddr_list_or_flush 2160 1246 -914
route_main 1585 245 -1340
ipcs_main 2523 1049 -1474
------------------------------------------------------------------------------
(add/remove: 13/0 grow/shrink: 0/10 up/down: 6170/-7213) Total: -1043 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-08 14:35:37 +02:00
Denys Vlasenko
a7bb3c1396
*: code shrink via NOINLINE
...
function old new delta
expand_vars_to_list - 2118 +2118
lzo1x_optimize - 1429 +1429
run_pipe 358 1775 +1417
arith_apply - 1335 +1335
mainQSort3 - 1198 +1198
logdir_open - 1163 +1163
rewrite - 1039 +1039
dump_identity - 987 +987
do_shm - 884 +884
cpio_o - 863 +863
cpio_main 1450 560 -890
ipcs_main 3442 2523 -919
bb_dump_dump 2611 1488 -1123
process_dev 4572 3405 -1167
logdirs_reopen 1308 86 -1222
arith 2084 707 -1377
mainSort 2622 1202 -1420
do_lzo_compress 2276 799 -1477
run_list 2491 943 -1548
expand_variables 2280 135 -2145
------------------------------------------------------------------------------
(add/remove: 9/0 grow/shrink: 1/10 up/down: 12433/-13288) Total: -855 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-08 12:28:08 +02:00
Denys Vlasenko
57ce977a97
ash: compile breakage fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-08 04:19:14 +02:00
Denys Vlasenko
d427689eee
Fix english in build system
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-06 22:13:37 +02:00
Denys Vlasenko
7bb346f23c
*: use {i,u}toa() where appropriate
...
function old new delta
startservice 377 363 -14
setari_u 54 40 -14
ash_main 1375 1361 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-42) Total: -42 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-06 22:09:50 +02:00
Cristian Ionescu-Idbohrn
301f5ecb8d
ash: error out on ${#1#}, ${#$11}, ${#11#}
...
Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-05 02:07:23 +02:00
Denys Vlasenko
4d8873f997
ash: document where we accept invalid syntax. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-04 03:14:41 +02:00
Denys Vlasenko
76622dbd16
ash: code shrink
...
function old new delta
ulimitcmd 489 415 -74
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-04 01:14:19 +02:00
Denys Vlasenko
3a7034c27b
typo fix in a comment in a testcase. oh well...
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-30 02:48:59 +02:00
Denys Vlasenko
c34c033c42
ash,hush: share string
...
function old new delta
optschanged 133 139 +6
hush_main 997 982 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 6/-15) Total: -9 bytes
text data bss dec hexfilename
823160 445 7668 831273 caf29busybox_old
823102 445 7668 831215 caeefbusybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-29 12:25:30 +02:00
Denys Vlasenko
db9c57eed1
libbb/lineedit: fix the case when we configured history to have 0 lines
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-27 02:48:53 +02:00
Denys Vlasenko
e74aaf9385
ash,hush: make trap output short signal names, without SIG prefix
...
function old new delta
evalvar 1373 1371 -2
builtin_trap 457 441 -16
trapcmd 260 236 -24
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-27 02:05:45 +02:00
Denys Vlasenko
67f7186403
hush: do not reset to default "" traps in subshell
...
function old new delta
reset_traps_to_defaults 164 211 +47
builtin_umask 123 121 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-25 14:21:06 +02:00
Denys Vlasenko
4ea0ca8193
hush: document a TODO. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-25 12:58:37 +02:00
Denys Vlasenko
8f88d85e34
ash: better comment. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-25 12:12:53 +02:00
Denys Vlasenko
726e1a04f7
ash: even smaller trap
code
...
function old new delta
evalvar 1371 1373 +2
trapcmd 347 260 -87
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-25 02:58:20 +02:00
Denys Vlasenko
e305c28285
ash: slightly better (more correct) code for "trap hack"
...
function old new delta
changepath 194 195 +1
evalvar 1373 1371 -2
forkchild 602 590 -12
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-25 02:12:27 +02:00
Denys Vlasenko
21d87d495a
ash: better handling of EXIT trap in trap
hack
...
function old new delta
forkchild - 602 +602
trapcmd 255 347 +92
ash_main 1362 1375 +13
evalvar 1371 1373 +2
popstring 140 134 -6
forkshell 835 248 -587
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/2 up/down: 709/-593) Total: 116 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-25 00:06:51 +02:00
Denys Vlasenko
0800e3af75
ash: do not let EXIT trap to fire in trap
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-24 03:09:26 +02:00
Denys Vlasenko
7188540257
hush: small speed optimization. +10 bytes.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-24 01:44:13 +02:00
Denys Vlasenko
2f7894b1bb
ash,hush: fix trap reporting: s/SIGEXIT/EXIT/
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-24 01:43:21 +02:00
Denys Vlasenko
606291beab
*: more portability fixes by Dan Fandrich
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-23 23:15:43 +02:00
Denys Vlasenko
1f27ab0d4b
*: optimize code size in strtoul calls
...
function old new delta
bb_parse_mode 433 431 -2
rtnl_rtntype_a2n 202 198 -4
ParseField 511 498 -13
bb_init_module_24 4730 4675 -55
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-74) Total: -74 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-23 17:17:53 +02:00
Denys Vlasenko
844f990926
ash: fix trap
...
function old new delta
forkshell 738 810 +72
popstring 134 140 +6
parse_command 1460 1463 +3
evalvar 1373 1371 -2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 81/-2) Total: 79 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-23 03:25:52 +02:00
Denys Vlasenko
91836baf85
hush: fix trap
...
function old new delta
expand_variables 2217 2280 +63
static.argv - 8 +8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-23 01:46:19 +02:00
Denys Vlasenko
69b1cef921
hush: better wording in comments. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-21 10:21:44 +02:00
Denys Vlasenko
1166d7b136
ash: fix bug 585 (>"$VAR_WITH_UNICODE_CHARS" problem)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-16 16:20:31 +02:00
Denys Vlasenko
b0d63383dd
ash: preparatory cleanup. The only real changes are (unsigned char) casts
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-16 16:18:32 +02:00
Denys Vlasenko
795633463a
add a testcase for reopened bug 585 (not fixed yet)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-16 14:04:07 +02:00
Denys Vlasenko
27726cb6aa
hush: make memleak debugging more robust
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-12 14:48:33 +02:00
Denys Vlasenko
873273da94
hush: code shrink by Dan Fandrich (dan AT coneharvesters.com)
...
function old new delta
find_function_slot - 47 +47
run_list 2508 2491 -17
find_function 40 8 -32
builtin_unset 227 165 -62
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-12 14:47:41 +02:00
Denys Vlasenko
043b1e5d99
more C standard compat fixes from Dan Fandrich
...
function old new delta
docolon 207 204 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 12:47:55 +02:00
Denys Vlasenko
90a9904e9e
remove some GNUisms. by Dan Fandrich (dan AT coneharvesters.com)
...
function old new delta
logdirs_reopen 1310 1308 -2
read_line_input 4757 4753 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6) Total: -6 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 02:36:23 +02:00
Denys Vlasenko
6db4784d27
hush: export PWD
...
function old new delta
set_pwd_var - 36 +36
hush_main 941 951 +10
evalvar 1365 1363 -2
ash_main 1364 1362 -2
builtin_cd 75 72 -3
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 46/-7) Total: 39 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-05 20:15:17 +02:00
Denys Vlasenko
a00329ca8e
ash: better comment. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-30 20:05:10 +02:00
Denys Vlasenko
7218af9f83
ash: revent one place where number() doesn't work
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-30 17:07:30 +02:00
Denys Vlasenko
ecc2a2e015
ash: deal with some TODOs (mostly trivial)
...
function old new delta
msg_illnum - 19 +19
evalvar 1365 1364 -1
illnum 19 - -19
subevalvar 1182 1158 -24
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/2 up/down: 19/-44) Total: -25 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-29 22:53:41 +02:00
Denys Vlasenko
9f2e82ad2e
ash: add testsuite for bug 585
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-29 20:37:09 +02:00
Denys Vlasenko
c8334a40c9
ash: fix handling of Unicode chars in redirects. Fixes bug 585
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-29 20:24:12 +02:00
Denys Vlasenko
b6c8434896
ash: trivial simplifications and optimizations
...
function old new delta
rmescapes - 256 +256
memtodest 94 103 +9
evalvar 1363 1365 +2
_rmescapes 256 - -256
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/0 up/down: 267/-256) Total: 11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-29 20:23:20 +02:00
Denys Vlasenko
a12af2d9f3
ash: make "jobs -l" more similar to bash. By Earl Chew. Fixes bug 481
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-23 22:10:04 +02:00
Denys Vlasenko
1cc4b13917
msh: aliased to hush
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-21 00:05:51 +02:00
Denys Vlasenko
0793491ff8
hush: enable "lash is deprecated, please use hush instead" message
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-20 03:40:04 +02:00
Denys Vlasenko
a67a9627d0
hush: do not process options after non-option args
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-20 03:38:58 +02:00
Denys Vlasenko
ffc39202aa
ash: fix bug 571 (jobs %string misbehaving)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-17 02:12:20 +02:00
Denys Vlasenko
dbfa45b3b2
hust test: complain if busybox binary can't be found
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-12 21:24:29 +02:00