Denis Vlasenko [Fri, 18 May 2007 07:30:43 +0000 (07:30 -0000)]
awk: fix a trivial bug introduced by me.
This is how it goes. I break stuff by doing useless 'cleanups',
people fix the fallout. :(. Thanks rockeychu!
Denis Vlasenko [Fri, 18 May 2007 00:02:37 +0000 (00:02 -0000)]
we were basically ignoring CONFIG_USE_BB_PWD_GRP (assuming =y),
fix this
Denis Vlasenko [Thu, 17 May 2007 23:03:35 +0000 (23:03 -0000)]
awk: make code a bit less obfuscated
Denis Vlasenko [Thu, 17 May 2007 23:02:14 +0000 (23:02 -0000)]
several *.c files:
move 'extern environ' up to the location of #includes
Denis Vlasenko [Thu, 17 May 2007 16:37:22 +0000 (16:37 -0000)]
vi: remove two globals
awk: some 'lineno' vars were shorts, made them ints (code got smaller)
awk: rename global t to global ttt. still an awful name, but at least
you can grep for it now.
function old new delta
ttt - 28 +28
mysleep 104 120 +16
readit 408 418 +10
lineno 2 4 +2
parse_program 338 339 +1
evaluate 6446 6445 -1
syntax_error 25 23 -2
next_token 917 915 -2
new_node 26 24 -2
tv 16 8 -8
skip_spaces 68 53 -15
t 28 - -28
rfds 128 - -128
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 4/6 up/down: 57/-186) Total: -129 bytes
Denis Vlasenko [Thu, 17 May 2007 15:38:46 +0000 (15:38 -0000)]
hush: do "struct globals" trick. hush.o data+bss = 0 bytes now.
+60 bytes to image, but -8000 bytes in bss.
Denis Vlasenko [Thu, 17 May 2007 14:38:17 +0000 (14:38 -0000)]
hush: consolidated variable expansion for assignments and "normal" one.
-435 bytes. Tested against testsuite.
Denis Vlasenko [Thu, 17 May 2007 13:02:41 +0000 (13:02 -0000)]
more compile fixes from randomconfig run
Denis Vlasenko [Thu, 17 May 2007 12:58:30 +0000 (12:58 -0000)]
fix trivial compile errors found by randomconfig run
Denis Vlasenko [Wed, 16 May 2007 22:25:35 +0000 (22:25 -0000)]
netstat: fix error in new -W option handling
Denis Vlasenko [Wed, 16 May 2007 22:18:54 +0000 (22:18 -0000)]
hush: take care of several easy FIXMEs. -228 bytes.
Denis Vlasenko [Wed, 16 May 2007 15:05:36 +0000 (15:05 -0000)]
hush: another microscopic typo fix
Denis Vlasenko [Wed, 16 May 2007 12:57:12 +0000 (12:57 -0000)]
hush: fix English in comment
Denis Vlasenko [Wed, 16 May 2007 12:52:15 +0000 (12:52 -0000)]
hush: simplify read builtin; fix set_local_var (misplaced 'goto skip;')
Denis Vlasenko [Wed, 16 May 2007 10:39:24 +0000 (10:39 -0000)]
hush: fix expansion of quoted $VAR, $* and $@
Denis Vlasenko [Wed, 16 May 2007 09:36:55 +0000 (09:36 -0000)]
hush: fix incorrect processing of echo "'$var'".
hush: rename map[] and MAP_xxx, making them easier to understand.
hush: move testcase (which now passes) from hush-bugs to hush-parsing
Denis Vlasenko [Tue, 15 May 2007 23:57:46 +0000 (23:57 -0000)]
netstat: introduce -W: wide, ipv6-friendly output
netstat: shrink by ~500 bytes
(patch by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)
netstat: fix for bogus state value for raw sockets
Bernhard Reutner-Fischer [Tue, 15 May 2007 09:33:32 +0000 (09:33 -0000)]
- apply hunk that fixes an issue with (wrong?) dependencies. Initial notes were:
There is something wrong in the new buildsys: If one selects ip and has e.g.
rule or route unset, ip still wants to build those.
This fails (correctly) since rtnl_rttable_n2a and rtnl_rtrealm_n2a aren't
available if they were turned off. TODO: Talk to vda about this
Bernhard Reutner-Fischer [Tue, 15 May 2007 09:07:06 +0000 (09:07 -0000)]
- busybox.c was removed a while ago
Denis Vlasenko [Mon, 14 May 2007 22:09:52 +0000 (22:09 -0000)]
hush: move testsuite files from hush-bugs to hush-parsing
(as these bugs are now fixed)
Denis Vlasenko [Mon, 14 May 2007 16:23:23 +0000 (16:23 -0000)]
hush: more fixes to variable expansion, more testcases
Denis Vlasenko [Mon, 14 May 2007 16:19:34 +0000 (16:19 -0000)]
hush: move towards more correct variable expansion
hush: fix a few cases in FOR v IN ... construct
unfortunately, code growth is big - ~600 bytes
Denis Vlasenko [Sun, 13 May 2007 18:34:53 +0000 (18:34 -0000)]
hush: fix '{ false; echo $?; }' bug.
hush: expand testsuite. variable expansion is still very broken
Denis Vlasenko [Fri, 11 May 2007 12:57:35 +0000 (12:57 -0000)]
hush: reinstate hush_test, add testcases for process subst
Denis Vlasenko [Fri, 11 May 2007 12:56:43 +0000 (12:56 -0000)]
hush: fix bug in interactive shell introduced yesterday
hush: fix `process subst` (2 bugs)
NB: will delete and re-add hush_test in order to change file modes
Denis Vlasenko [Thu, 10 May 2007 23:06:55 +0000 (23:06 -0000)]
hush: fix "unterminated last line loops forever" bug
hush: add testsuite infrastructure
Denis Vlasenko [Thu, 10 May 2007 23:05:28 +0000 (23:05 -0000)]
hush: fix recent breakage (VAR=VAL stopped working)
Denis Vlasenko [Wed, 9 May 2007 22:16:08 +0000 (22:16 -0000)]
msh: fix obscure case with backticks and closed fd 1
Denis Vlasenko [Wed, 9 May 2007 21:57:23 +0000 (21:57 -0000)]
awk: don't segfault on printf(%*s). Close 1337.
Denis Vlasenko [Wed, 9 May 2007 21:27:15 +0000 (21:27 -0000)]
cryptpw: size reduction
function old new delta
cryptpw_main 198 140 -58
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-58) Total: -58 bytes
Denis Vlasenko [Wed, 9 May 2007 20:38:04 +0000 (20:38 -0000)]
mount: fix incorrect usage of strtok (inadvertently used NULL sometimes).
the change is "for(xxx)...." -> "if(var) for(xxx)...", but my gcc 4.1.2
adds _158 bytes_!! WTF?? 8(
Denis Vlasenko [Wed, 9 May 2007 18:32:54 +0000 (18:32 -0000)]
less: fix case when regex search finds nothing
Denis Vlasenko [Wed, 9 May 2007 12:50:08 +0000 (12:50 -0000)]
tftp: explain "block# 0" codepath; report our decision to bail out to server
if blocksize option doesn't look good (it was a FIXME. +33 bytes code);
make code more readable.
Denis Vlasenko [Tue, 8 May 2007 23:23:35 +0000 (23:23 -0000)]
cryptpw: forgot svn add... how typical of me :(
Denis Vlasenko [Tue, 8 May 2007 23:12:21 +0000 (23:12 -0000)]
tftp: code diet, and I think retransmits were broken.
function old new delta
static.errcode_str - 32 +32
tftp_main 359 345 -14
tftp_bb_error_msg 32 - -32
.rodata 130931 130899 -32
tftp 1720 1558 -162
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/3 up/down: 32/-240) Total: -208 bytes
Denis Vlasenko [Tue, 8 May 2007 17:52:17 +0000 (17:52 -0000)]
cryptpw: new applet (a bit less than 3k added)
(by Thomas Lundquist <lists@zelow.no>)
Denis Vlasenko [Tue, 8 May 2007 17:27:17 +0000 (17:27 -0000)]
tail: fix SEGV on "tail -N"
config system: clarify PREFER_APPLETS/SH_STANDALONE effects in help text
Denis Vlasenko [Sun, 6 May 2007 22:51:52 +0000 (22:51 -0000)]
kill: improve comment
Denis Vlasenko [Sun, 6 May 2007 22:48:55 +0000 (22:48 -0000)]
kill: fix recent breakage of vda, also make code smaller by 21 bytes.
Denis Vlasenko [Sun, 6 May 2007 14:15:42 +0000 (14:15 -0000)]
hush: fix double-free in "echo TEST &"
Denis Vlasenko [Sun, 6 May 2007 01:37:21 +0000 (01:37 -0000)]
svlogd: fix 'SEGV on uninitialized data' and make it honor TERM
Denis Vlasenko [Sat, 5 May 2007 15:11:40 +0000 (15:11 -0000)]
hush: stop generating extra empty pipes in parse stage.
Denis Vlasenko [Sat, 5 May 2007 15:10:52 +0000 (15:10 -0000)]
hush: preparatory patch for removing extra empty pipes generation
in parse stage. No real code change here.
Denis Vlasenko [Fri, 4 May 2007 21:38:14 +0000 (21:38 -0000)]
fix -Werror compile
Denis Vlasenko [Fri, 4 May 2007 21:37:27 +0000 (21:37 -0000)]
hush: fix "while true; do true; done" + ctrl-z
Denis Vlasenko [Fri, 4 May 2007 14:54:36 +0000 (14:54 -0000)]
applets: fix compile-time warning
Denis Vlasenko [Fri, 4 May 2007 13:07:27 +0000 (13:07 -0000)]
hush: add parse tree debug print
Denis Vlasenko [Thu, 3 May 2007 23:39:35 +0000 (23:39 -0000)]
udhcpc: stop deleting our own pidfile if we daemonize.
udhcp[cd]: stop using atexit magic fir pidfile removal.
Denis Vlasenko [Thu, 3 May 2007 22:57:56 +0000 (22:57 -0000)]
awk: guard against empty environment
Denis Vlasenko [Thu, 3 May 2007 22:45:39 +0000 (22:45 -0000)]
hush: fix "true | exit 3; echo $?" bug
Denis Vlasenko [Wed, 2 May 2007 23:39:04 +0000 (23:39 -0000)]
hush: remove env builtin (it is buggy). Add comments
Denis Vlasenko [Wed, 2 May 2007 23:01:32 +0000 (23:01 -0000)]
fix suid config handling
Denis Vlasenko [Wed, 2 May 2007 22:22:23 +0000 (22:22 -0000)]
ifupdown: small optimization (avoid doing useless work if we are
not going to update state file)
Mike Frysinger [Wed, 2 May 2007 22:07:03 +0000 (22:07 -0000)]
allow people to stick custom things into Makefile.local so they dont need to update busybox files while integrating into other build systems (like uClinux-dist)
Denis Vlasenko [Wed, 2 May 2007 22:04:38 +0000 (22:04 -0000)]
ifupdown: mke it possible to use DHCP clients different from udhcp.
Denis Vlasenko [Wed, 2 May 2007 21:40:23 +0000 (21:40 -0000)]
hush: simplify debugging prints a little bit
Denis Vlasenko [Wed, 2 May 2007 21:39:29 +0000 (21:39 -0000)]
klogd: remove dependency on syslogd
Denis Vlasenko [Wed, 2 May 2007 21:38:44 +0000 (21:38 -0000)]
ifupdown: reread state file before rewriting it.
Fixes "ifup started another ifup" state corruption bug.
Patch by Natanael Copa <natanael.copa@gmail.com>.
Denis Vlasenko [Wed, 2 May 2007 15:35:45 +0000 (15:35 -0000)]
hush: add debugging for tracing execution,
add FIXME for 'true | exit 3; echo $?' case
Denis Vlasenko [Wed, 2 May 2007 15:34:47 +0000 (15:34 -0000)]
hush: fix incorrect exitcodes without job control
Denis Vlasenko [Tue, 1 May 2007 20:07:29 +0000 (20:07 -0000)]
test: code size saving, no logic changes
ps: fix warning, make a bit smaller
kill -l: make smaller & know much more signals
function old new delta
get_signum 121 153 +32
kill_main 826 843 +17
get_signame 44 36 -8
signals 252 224 -28
.rodata 131955 131923 -32
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/3 up/down: 49/-68) Total: -19 bytes
Denis Vlasenko [Sun, 29 Apr 2007 23:42:54 +0000 (23:42 -0000)]
ash,kill: use common code for kill applet/builtin
# make bloatcheck
function old new delta
evaltreenr 644 654 +10
evaltree 644 654 +10
parse_conf 1440 1444 +4
dpkg_deb_main 426 429 +3
ed_main 3319 3321 +2
passwd_main 2093 2091 -2
kill_main 830 826 -4
singlemount 4609 4601 -8
find_command 962 954 -8
get_lcm 123 105 -18
.rodata 132243 132147 -96
killcmd 449 120 -329
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/7 up/down: 29/-465) Total: -436 bytes
# size busybox_old busybox_unstripped
text data bss dec hex filename
723901 2940 27504 754345 b82a9 busybox_old
723457 2940 27504 753901 b80ed busybox_unstripped
Denis Vlasenko [Sun, 29 Apr 2007 23:38:12 +0000 (23:38 -0000)]
run_parts: do not check path portion of a name for "bad chars".
Needed for ifupdown. Patch by "Gabriel L. Somlo" <somlo@cmu.edu>
Denis Vlasenko [Sat, 28 Apr 2007 22:39:02 +0000 (22:39 -0000)]
ash: fix infinite loop on exit if tty is not there anymore
Denis Vlasenko [Sat, 28 Apr 2007 16:48:27 +0000 (16:48 -0000)]
hush: make job control and interactiveness configurable, part 2
Denis Vlasenko [Sat, 28 Apr 2007 16:48:04 +0000 (16:48 -0000)]
hush: make job control and interactiveness configurable, part 1
Denis Vlasenko [Sat, 28 Apr 2007 16:47:08 +0000 (16:47 -0000)]
hush: make hush properly detect EOF on stdin (even interactive one -
think about pty being destroyed) and exit.
Denis Vlasenko [Sat, 28 Apr 2007 16:45:59 +0000 (16:45 -0000)]
hush: add Ctrl-C handling to nofork case
Denis Vlasenko [Sat, 28 Apr 2007 16:45:22 +0000 (16:45 -0000)]
hush: better signal handling across ctrl-z
Denis Vlasenko [Sat, 28 Apr 2007 16:43:18 +0000 (16:43 -0000)]
hush: fix nofork + ctrl-Z clobbering of globals
Denis Vlasenko [Sat, 28 Apr 2007 16:42:11 +0000 (16:42 -0000)]
hush: add ctrl-Z handling for nofork'ed case
Denis Vlasenko [Sat, 21 Apr 2007 23:28:03 +0000 (23:28 -0000)]
find_root_device: use lstat - don't follow links
Denis Vlasenko [Sat, 21 Apr 2007 23:27:30 +0000 (23:27 -0000)]
hush: make Ctrl-Z work (at least sometimes)
Denis Vlasenko [Sat, 21 Apr 2007 17:28:51 +0000 (17:28 -0000)]
hust: add a comment
Denis Vlasenko [Sat, 21 Apr 2007 13:42:52 +0000 (13:42 -0000)]
hush: fix more backgrounding bugs. Plenty of them remains still.
Denis Vlasenko [Sat, 21 Apr 2007 10:01:14 +0000 (10:01 -0000)]
hush: explain why "pipe; exit $?" doesn't show correct exitcode
Denis Vlasenko [Sat, 21 Apr 2007 10:00:01 +0000 (10:00 -0000)]
hush: do not print message if killed by signal;
move some functions up before main()
Denis Vlasenko [Sat, 21 Apr 2007 00:03:36 +0000 (00:03 -0000)]
hush: begin fixing non-functional job control
Denis Vlasenko [Fri, 20 Apr 2007 08:35:45 +0000 (08:35 -0000)]
hush: small code shrink; style fixes
Denis Vlasenko [Thu, 19 Apr 2007 20:16:14 +0000 (20:16 -0000)]
dd: NOEXEC fix
dd: correct wrongly capitalized constant
Denis Vlasenko [Thu, 19 Apr 2007 20:08:19 +0000 (20:08 -0000)]
dd: fix skip= parse error (spotted by Dirk Clemens <develop@cle-mens.de>)
Denis Vlasenko [Thu, 19 Apr 2007 19:55:54 +0000 (19:55 -0000)]
stty: fix option parsing bug (spotted by Sascha Hauer <s.hauer@pengutronix.de>)
Denis Vlasenko [Thu, 19 Apr 2007 17:26:34 +0000 (17:26 -0000)]
doc: add README on shell job control
Denis Vlasenko [Thu, 19 Apr 2007 14:47:11 +0000 (14:47 -0000)]
procps: remove all global variables
text data bss dec hex filename
1462 14 24 1500 5dc busybox.t2/procps/ps.o
1484 0 0 1484 5cc busybox.t3/procps/ps.o
3122 0 252 3374 d2e busybox.t1/procps/top.o
3117 0 0 3117 c2d busybox.t3/procps/top.o
Denis Vlasenko [Thu, 19 Apr 2007 14:46:14 +0000 (14:46 -0000)]
ps: add -o tty and -o rss support
1373 14 24 1411 583 busybox.t1/procps/ps.o
1462 14 24 1500 5dc busybox.t2/procps/ps.o
Denis Vlasenko [Thu, 19 Apr 2007 00:09:34 +0000 (00:09 -0000)]
loop device code: readability improvement
Denis Vlasenko [Wed, 18 Apr 2007 21:40:30 +0000 (21:40 -0000)]
switch_root: error_msg -> perror_msg, reduce by 22 bytes while at it.
Denis Vlasenko [Wed, 18 Apr 2007 21:14:46 +0000 (21:14 -0000)]
"Unify base64 handling" is done, remove TODO
Denis Vlasenko [Wed, 18 Apr 2007 21:00:21 +0000 (21:00 -0000)]
make "busybox" w/o args work again, and save 10 bytes in the process.
Denis Vlasenko [Wed, 18 Apr 2007 17:21:28 +0000 (17:21 -0000)]
hush: remove stray semicolon (should change nothing)
Denis Vlasenko [Mon, 16 Apr 2007 23:23:33 +0000 (23:23 -0000)]
ether-wake: save a few more bytes of code
Denis Vlasenko [Mon, 16 Apr 2007 23:16:37 +0000 (23:16 -0000)]
ether-wake: close bug 1317. Reorder fuctions to avoid
forward refs while at it
Denis Vlasenko [Mon, 16 Apr 2007 22:34:39 +0000 (22:34 -0000)]
shells: remove few statics and duplicated code
(much more of the same remains, alas)
function old new delta
doset 330 332 +2
warn 53 51 -2
onecommand 463 461 -2
ioecho 40 38 -2
forkexec 1412 1410 -2
err 81 79 -2
setdash 59 56 -3
flag 4 - -4
msh_main 1389 1384 -5
eval 388 381 -7
subgetc 759 747 -12
static.local 14 - -14
b_adduint 70 52 -18
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 1/10 up/down: 2/-73) Total: -71 bytes
Denis Vlasenko [Mon, 16 Apr 2007 22:32:04 +0000 (22:32 -0000)]
style fixes, no code changes
Denis Vlasenko [Mon, 16 Apr 2007 20:55:27 +0000 (20:55 -0000)]
applet.c: ruid is needed only if FEATURE_SUID=y
Bernhard Reutner-Fischer [Mon, 16 Apr 2007 18:25:46 +0000 (18:25 -0000)]
- we unconditionally need ruid. Fixes build error in line 334
Bernhard Reutner-Fischer [Mon, 16 Apr 2007 14:56:01 +0000 (14:56 -0000)]
- fix compilation when ENABLE_FEATURE_IP_RULE was off
Bernhard Reutner-Fischer [Mon, 16 Apr 2007 12:21:05 +0000 (12:21 -0000)]
- fix compilation if ENABLE_FEATURE_DD_IBS_OBS is off
Denis Vlasenko [Sun, 15 Apr 2007 13:21:01 +0000 (13:21 -0000)]
lineedit: state->hist_file doesn't exist if !FEATURE_EDITING_SAVEHISTORY,
#ifdef it out
Denis Vlasenko [Sun, 15 Apr 2007 11:50:41 +0000 (11:50 -0000)]
doc: fix code example which may provoke warning