Denis Vlasenko
82ad032e26
xargs: fix -e default to match newer GNU xargs, add SUS mandated -E.
...
closes bug 4414
2008-08-04 21:30:55 +00:00
Denis Vlasenko
855ff6f503
modprobe: use buffering line reads (fgets) instead of reads().
...
libbb: remove reads()
function old new delta
include_conf_file_act 961 980 +19
localcmd 282 284 +2
already_loaded 155 151 -4
in_cksum 58 53 -5
modprobe_main 1630 1624 -6
reads 129 - -129
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/3 up/down: 21/-144) Total: -123 bytes
2008-08-04 21:16:46 +00:00
Denis Vlasenko
5db861a9eb
fix some testsuite false positives
2008-08-04 14:40:58 +00:00
Denis Vlasenko
27842288b3
libbb: make xrealloc_vector zero out the realloc'ed tail
...
function old new delta
xrealloc_vector_helper 51 76 +25
man_main 712 705 -7
act 250 234 -16
create_list 91 70 -21
getopt_main 695 664 -31
load_dep_bb 281 248 -33
fileAction 744 709 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 25/-143) Total: -118 bytes
2008-08-04 13:20:36 +00:00
Denis Vlasenko
2b576b8e76
hush: fix mishandling of a'b'c=fff as assignments. They are not.
...
function old new delta
parse_stream 1920 2004 +84
done_word 715 752 +37
parse_and_run_stream 328 333 +5
builtin_exec 25 29 +4
pseudo_exec_argv 138 139 +1
run_list 2006 1999 -7
is_assignment 215 134 -81
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/2 up/down: 131/-88) Total: 43 bytes
2008-08-04 00:46:07 +00:00
Denis Vlasenko
c8bec9a085
hush: remove a comment about already fixed bug
2008-08-03 22:27:50 +00:00
Denis Vlasenko
b2dc913527
makedevs: shrink by Vladimir
...
function old new delta
makedevs_main 1071 1049 -22
packed_usage 24744 24708 -36
2008-08-03 22:14:02 +00:00
Denis Vlasenko
7ce47e698e
ssd: fix -K/-S mixup in help text
2008-08-03 19:23:30 +00:00
Denis Vlasenko
c45b53940a
xargs: update help text
2008-08-03 19:20:25 +00:00
Denis Vlasenko
cc08ad26fe
xargs: fix xargs -e; added test for that
2008-08-03 19:12:25 +00:00
Denis Vlasenko
1e28f6171f
halt: signal init regardless of ENABLE_INIT
2008-08-03 18:43:45 +00:00
Denis Vlasenko
cfe2936a73
nameif: shrink (by Vladimir)
...
function old new delta
nameif_main 668 636 -32
2008-08-01 02:32:23 +00:00
Denis Vlasenko
9ef1a5ddc1
makedevs: fix help text discrepancies
2008-08-01 02:15:51 +00:00
Denis Vlasenko
e1fa817995
makedevs: shrink (by Vladimir); testsuite
...
function old new delta
makedevs_main 1153 1071 -82
2008-08-01 02:15:05 +00:00
Denis Vlasenko
d498131168
hush: support $_NUMBERS variable names
2008-07-31 10:34:48 +00:00
Denis Vlasenko
f173607520
hush: fix "case ... in <newline> word)..."
2008-07-31 10:09:26 +00:00
Denis Vlasenko
fbeeb328b8
hush: support "pattern1|pattern2...)" in case statements
...
parse_stream 1847 1861 +14
run_list 1995 2006 +11
2008-07-31 00:17:01 +00:00
Denis Vlasenko
20be63fe71
tr: fix yet another access past the end of a string (bug 4374)
2008-07-30 22:58:18 +00:00
Denis Vlasenko
b357149867
chpst: large code shrink by Vladimir
...
function old new delta
chpst_main 1058 1357 +299
euidgid 56 - -56
suidgid 59 - -59
slimit 208 - -208
packed_usage 24638 24420 -218
edir 375 - -375
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 1/1 up/down: 299/-916) Total: -617 bytes
2008-07-30 21:23:26 +00:00
Denis Vlasenko
c90e1be01b
ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"
2008-07-30 15:35:05 +00:00
Denis Vlasenko
4f504a9e57
hush: trivial code shrink
...
function old new delta
builtin_continue 48 22 -26
2008-07-29 19:48:30 +00:00
Denis Vlasenko
87a8655f46
hush: use G.xxx instead of #define xxx G.xxx. We have too many globals
...
there and #defines get messy. Remove one write-only G.variable.
2008-07-29 19:43:10 +00:00
Denis Vlasenko
ff29b4fc42
randomconfig fix
2008-07-29 13:57:59 +00:00
Denis Vlasenko
4554b721ad
hush: small fix for repeated continue and fix for wrong loop depth count
...
after Ctrl-C; with testcase for first one
2008-07-29 13:36:09 +00:00
Denis Vlasenko
45cb9f9581
hush: fix inverted check (was making all break's to act as "break 99999")
2008-07-29 11:47:46 +00:00
Denis Vlasenko
fcf37c3183
hush: fix break'ing out of {} and () groups; with testcase
...
function old new delta
builtin_break 93 129 +36
builtin_continue 21 47 +26
run_list 1973 1976 +3
2008-07-29 11:37:15 +00:00
Denis Vlasenko
d91afa33fd
randomconfig fixes
2008-07-29 11:10:01 +00:00
Denis Vlasenko
dadfb4975b
hush: add #defines to switch off break/continue if loops are not supported
...
*: remove a few inline keywords
no code changes
2008-07-29 10:16:05 +00:00
Denis Vlasenko
e1ee48e0fd
modprobe: support for /etc/modprobe.d, by Timo Teras.
...
function old new delta
include_conf_file_act - 929 +929
include_conf_recursive - 30 +30
include_conf_file2 - 30 +30
include_conf_file - 14 +14
include_conf_dir_act - 14 +14
build_dep 1011 875 -136
include_conf 922 - -922
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 0/1 up/down: 1017/-1058) Total: -41 bytes
2008-07-29 00:19:44 +00:00
Denis Vlasenko
2f86d13dff
libbb: dump: do not use uninitialized memory. close bug 4364.
2008-07-29 00:00:14 +00:00
Denis Vlasenko
043d15da31
tr: fix "tr [=" case. Closes bug 4374.
...
function old new delta
expand 1701 1738 +37
tr_main 472 474 +2
2008-07-28 23:49:42 +00:00
Denis Vlasenko
918a34b9e0
hush: fix "while false; ..." exitcode; add testsuites
2008-07-28 23:17:31 +00:00
Denis Vlasenko
6a2d40f239
hush: support "break N" and "continue N"
...
fix non-detection of builtins and applets in "v=break; ...; $v; ..." case
add testsuite entries for the above
function old new delta
builtin_break 12 93 +81
run_list 1948 1971 +23
builtin_continue 12 21 +9
pseudo_exec_argv 132 138 +6
builtin_exec 23 25 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 121/0) Total: 121 bytes
2008-07-28 23:07:06 +00:00
Denis Vlasenko
bcb25537d0
hush: implement break and continue
...
function old new delta
bltins 252 276 +24
builtin_continue - 12 +12
builtin_break - 12 +12
static.version_str 18 17 -1
run_list 1984 1948 -36
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/2 up/down: 48/-27) Total: 11 bytes
2008-07-28 23:04:34 +00:00
Denis Vlasenko
cf22c89f9a
hush: in run_list(), some loop_top ops seems to be superfluous.
...
comment them out. Also, use separate temp variable
for verification loop, helps gcc to optimize better.
function old new delta
run_list 2039 1984 -55
2008-07-28 15:17:44 +00:00
Denis Vlasenko
12acec5ad4
hush: in run_list(), last_cond_code seems to be superfluous. comment it out
...
function old new delta
run_list 2055 2039 -16
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-16) Total: -16 bytes
2008-07-28 15:15:59 +00:00
Denis Vlasenko
5e052cab17
hush: explain run_list() in detail; small optimizations
...
function old new delta
hush_main 785 786 +1
expand_variables 1447 1448 +1
builtin_exit 48 49 +1
builtin_eval 54 55 +1
run_list 2075 2055 -20
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/1 up/down: 4/-20) Total: -16 bytes
2008-07-28 15:15:09 +00:00
Denis Vlasenko
38c89210d6
documentation fix
2008-07-28 00:06:02 +00:00
Denis Vlasenko
be709c24d4
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
2008-07-28 00:01:16 +00:00
Denis Vlasenko
8d523cbcd7
fbset: shrink code a bit more
2008-07-27 21:16:30 +00:00
Denis Vlasenko
09f5ecfa47
fbset: code shrink
...
function old new delta
ss - 33 +33
fbset_main 1968 1844 -124
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 33/-124) Total: -91 bytes
2008-07-27 20:25:29 +00:00
Denis Vlasenko
2c7a1fd6d4
netstat: code shrink
...
function old new delta
print_inet_line - 193 +193
scan_inet_proc_line - 130 +130
unix_do_one 519 503 -16
do_info 145 97 -48
netstat_main 601 548 -53
tcp_do_one 462 61 -401
raw_do_one 513 107 -406
udp_do_one 533 119 -414
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/6 up/down: 323/-1338) Total: -1015 bytes
2008-07-27 17:24:19 +00:00
Denis Vlasenko
cf8b1ef845
style fix, no code changes
2008-07-27 14:15:42 +00:00
Denis Vlasenko
6e69e4237d
netstat: optional -p support by L. Gabriel Somlo <somlo AT cmu.edu>
...
Without FEATURE_NETSTAT_PRG:
function old new delta
recursive_action 416 425 +9
tcp_do_one 420 428 +8
udp_do_one 492 499 +7
raw_do_one 472 479 +7
expand 1697 1701 +4
netstat_main 489 492 +3
unix_do_one 486 488 +2
flags 1 - -1
qgravechar 109 106 -3
net_conn_line 4 - -4
bbunpack 391 383 -8
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 7/2 up/down: 40/-16) Total: 24 bytes
With FEATURE_NETSTAT_PRG:
file_act - 213 +213
dir_act - 192 +192
netstat_main 489 601 +112
prg_cache_get - 50 +50
tcp_do_one 420 462 +42
udp_do_one 492 533 +41
raw_do_one 472 513 +41
unix_do_one 486 519 +33
recursive_action 416 425 +9
expand 1697 1701 +4
flags 1 - -1
qgravechar 109 106 -3
net_conn_line 4 - -4
bbunpack 391 383 -8
packed_usage 24586 24572 -14
------------------------------------------------------------------------------
(add/remove: 3/2 grow/shrink: 7/3 up/down: 737/-30) Total: 707 bytes
2008-07-27 12:10:07 +00:00
Denis Vlasenko
94d03f0da0
whitespace fix
2008-07-26 23:16:33 +00:00
Denis Vlasenko
c24033eebe
man: a forgotten chunk of lask commit (config file parser fixes)
2008-07-26 23:14:23 +00:00
Denis Vlasenko
084266ed52
fix several problems with config parser:
...
a bug where it underflows the string
a bug where it never frees parser_t struct
make read_config() return 0 if parser is NULL,
make config_close() accept and ignore NULL parser -
eliminates many if() blocks
reverse the sense of parser bit flags - negative flags
are harder to grok.
hexdump: revert the change to use config parser, it is BIGGER
and also requires additional quirks in parser
*: explicitly use PARSER_NORMAL instead of 0
function old new delta
login_main 1575 1596 +21
config_close 18 29 +11
bbunpack 383 391 +8
qgravechar 106 109 +3
rtnl_tab_initialize 121 117 -4
expand 1697 1693 -4
man_main 717 712 -5
nameif_main 674 668 -6
hexdump_main 597 591 -6
read_config 217 209 -8
dnsd_main 1478 1470 -8
sysctl_main 203 189 -14
config_open2 44 25 -19
make_device 1177 1141 -36
config_read 597 549 -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/11 up/down: 43/-158) Total: -115 bytes
2008-07-26 23:08:31 +00:00
Denis Vlasenko
8895c2073e
man: ignore (not complain) lines with less than 2 tokens
...
in config file
2008-07-26 19:44:53 +00:00
Denis Vlasenko
5e40070d38
tr: fix "access past the end of a string" bug 4354
2008-07-26 19:34:00 +00:00
Denis Vlasenko
df96df9c7c
mdev: do not complain if mdev.conf does not exist;
...
use #if to prevent gcc from generating dead code
(sadly, it's more ugly this way)
2008-07-26 18:35:10 +00:00