Denis Vlasenko
54e7ffb3a4
hush: begin fixing non-functional job control
2007-04-21 00:03:36 +00:00
Denis Vlasenko
5f786c24e4
hush: small code shrink; style fixes
2007-04-20 08:35:45 +00:00
Denis Vlasenko
f6250a3bee
dd: NOEXEC fix
...
dd: correct wrongly capitalized constant
2007-04-19 20:16:14 +00:00
Denis Vlasenko
d1801a4430
dd: fix skip= parse error (spotted by Dirk Clemens <develop@cle-mens.de>)
2007-04-19 20:08:19 +00:00
Denis Vlasenko
9ace613406
stty: fix option parsing bug (spotted by Sascha Hauer <s.hauer@pengutronix.de>)
2007-04-19 19:55:54 +00:00
Denis Vlasenko
05a6d9cbb2
doc: add README on shell job control
2007-04-19 17:26:34 +00:00
Denis Vlasenko
8581863a1b
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
2007-04-19 14:47:11 +00:00
Denis Vlasenko
516a0ca2dc
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
2007-04-19 14:46:14 +00:00
Denis Vlasenko
c34d35557b
loop device code: readability improvement
2007-04-19 00:09:34 +00:00
Denis Vlasenko
3ace9fa6d8
switch_root: error_msg -> perror_msg, reduce by 22 bytes while at it.
2007-04-18 21:40:30 +00:00
Denis Vlasenko
088b959d00
"Unify base64 handling" is done, remove TODO
2007-04-18 21:14:46 +00:00
Denis Vlasenko
2ace1e3f07
make "busybox" w/o args work again, and save 10 bytes in the process.
2007-04-18 21:00:21 +00:00
Denis Vlasenko
55b2de71d7
hush: remove stray semicolon (should change nothing)
2007-04-18 17:21:28 +00:00
Denis Vlasenko
517d1aac7f
ether-wake: save a few more bytes of code
2007-04-16 23:23:33 +00:00
Denis Vlasenko
198714c0dd
ether-wake: close bug 1317. Reorder fuctions to avoid
...
forward refs while at it
2007-04-16 23:16:37 +00:00
Denis Vlasenko
7d4c44e1b1
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
2007-04-16 22:34:39 +00:00
Denis Vlasenko
ac678ec2f1
style fixes, no code changes
2007-04-16 22:32:04 +00:00
Denis Vlasenko
17e3c34aa7
applet.c: ruid is needed only if FEATURE_SUID=y
2007-04-16 20:55:27 +00:00
Denis Vlasenko
0922192740
lineedit: state->hist_file doesn't exist if !FEATURE_EDITING_SAVEHISTORY,
...
#ifdef it out
2007-04-15 13:21:01 +00:00
Denis Vlasenko
84f75b0b94
doc: fix code example which may provoke warning
2007-04-15 11:50:41 +00:00
Denis Vlasenko
8acf521432
e2fsprogs: stop using statics in chattr. Minor code shrinkage (-130 bytes)
2007-04-15 11:48:27 +00:00
Denis Vlasenko
be1a9d4237
deluser: add optional support for removing users from groups
...
(by Tito <farmatito@tiscali.it >)
2007-04-15 08:43:23 +00:00
Denis Vlasenko
91de7c0328
update style-guide.txt
2007-04-15 08:39:39 +00:00
Denis Vlasenko
58394b1e29
xargs: simplify word list management
2007-04-15 08:38:50 +00:00
Denis Vlasenko
e471275813
msh: style fixes
...
shell/README - a place to record things about busybox shells
2007-04-14 15:08:41 +00:00
Denis Vlasenko
5f9468e996
lineedit: nuke two unused variables and code which sets them
...
applets: do not even try to read config if run by real root
msh: use named constants (O_RDONLY etc) in open() instead of magic numbers,
other minor code size reduction.
2007-04-14 13:22:09 +00:00
Denis Vlasenko
8a28e620ce
lash: recognize and use NOFORK applets
...
lash,hush: fix kill buglet (didn't properly recognize ESRCH)
2007-04-14 11:16:29 +00:00
Denis Vlasenko
bf3561fd15
lineedit: do not try to open NULL history file
2007-04-14 10:10:40 +00:00
Denis Vlasenko
f5294e1f4c
hush: use NOFORK applets as appropriate. Net reduction of code size.
2007-04-14 10:09:57 +00:00
Denis Vlasenko
16abcd90ae
teach find_root_device to deal with /dev/ subdirs
...
(by "Kirill K. Smirnov" <lich@math.spbu.ru >)
2007-04-13 23:59:52 +00:00
Denis Vlasenko
334fa9bcb5
dpkg: use nitfields which are a bit closer to typical ushort.
...
Code size -800.
2007-04-13 23:22:58 +00:00
Denis Vlasenko
87468857f6
style fixes
2007-04-13 23:22:00 +00:00
Denis Vlasenko
f7fcca4af7
sourse_route_list -> source_route_list
2007-04-13 22:07:21 +00:00
Denis Vlasenko
1d6a4aec2c
make xsocket die with address family printed (if VERBOSE_RESOLUTION_ERRORS=y)
2007-04-13 21:26:20 +00:00
Denis Vlasenko
fbf6dea5a2
hush: more style fixes.
2007-04-13 19:56:56 +00:00
Denis Vlasenko
f03dbeda90
hush: comment out and replace bug in set_local_var:
...
- if (value == 0 && ++value == 0) {
+ /*if (value == 0 && ++value == 0) ??? -vda */
+ if (value == NULL || value[1] == '\0') {
Style fixes.
2007-04-13 19:55:50 +00:00
Denis Vlasenko
b636d8c18c
shell/: add SUSv3 doc for fast & easy reference
2007-04-13 19:44:22 +00:00
Denis Vlasenko
beaca811e4
fix typo in comment
2007-04-13 16:32:26 +00:00
Denis Vlasenko
62f0479cf1
find: add support for -delete, -path (by Natanael Copa)
2007-04-13 10:00:12 +00:00
Denis Vlasenko
945bd3dee8
sed: fix escaped newlines in -f; fix multiple -f and -e
...
(broke when getopt32 was fixed to not reverse the list)
2007-04-12 21:20:25 +00:00
Denis Vlasenko
3211adc184
login: fixing my brainfart: xspawn(t_argv) <- was using argv!
2007-04-12 20:33:01 +00:00
Denis Vlasenko
b69f35effe
lash: "forking" applets are actually can be treated the same way as "non-forked".
...
Also save a bit of space on trailing NULL array elements.
2007-04-12 17:10:45 +00:00
Denis Vlasenko
7cced6e574
fix realloc-of-non-malloced pointer, and reduce size while at it
2007-04-12 17:08:53 +00:00
Denis Vlasenko
0de3c55b42
login: remove setpgrp call (makes it work from shell prompt again).
...
login: sanitize stdio descriptors (we are suid, need to be careful!)
shrink login and set_environment by ~100 bytes.
2007-04-12 12:31:02 +00:00
Denis Vlasenko
831a20f512
pass a copy of argv[i] to NOFORK applets (they may permute it etc).
...
set/save/restore more shared global variables whan call one applet from another
2007-04-12 12:27:32 +00:00
Denis Vlasenko
51742f4bb0
style fixes. No code changes
2007-04-12 00:32:05 +00:00
Denis Vlasenko
50f7f446ec
bb_full_fd_action: remove potential xmalloc from NOFORK path
...
cat: stop using stdio.h opens
libbb: introduce & use open[3]_or_warn
function old new delta
open3_or_warn - 54 +54
bb_cat 115 144 +29
open_or_warn - 25 +25
unlzma 2404 2412 +8
chattr_main 334 339 +5
xstrtoul_range_sfx 251 255 +4
telnet_main 1514 1510 -4
static.opt 4 - -4
qgravechar 122 118 -4
fuser_add_pid 61 54 -7
fuser_add_inode 154 147 -7
writeFileToTarball 1542 1534 -8
refresh 1156 1148 -8
do_show 856 846 -10
read_leases 212 200 -12
setup_redirects 236 222 -14
iproute_list_or_flush 1582 1568 -14
read_config 427 411 -16
write_leases 284 264 -20
hash_file 338 318 -20
copy_file 1760 1740 -20
do_iproute 2610 2588 -22
bb_full_fd_action 320 269 -51
open_to_or_warn 103 49 -54
fuser_main 1660 1596 -64
.rodata 131160 131096 -64
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 4/19 up/down: 125/-423) Total: -298 bytes
2007-04-11 23:20:53 +00:00
Denis Vlasenko
d7c8196c1b
ash: fix kill -l (by Mats Erik Andersson <mats.andersson64@comhem.se>)
2007-04-11 20:43:31 +00:00
Denis Vlasenko
8fd371276f
fix typo in doc
2007-04-11 19:27:22 +00:00
Denis Vlasenko
6398cf477d
style fixes, no code changes.
2007-04-11 17:04:29 +00:00
Denis Vlasenko
e4f2d064b0
rename: run_applet_by_name -> run_applet_and_exit
2007-04-11 17:03:19 +00:00
Denis Vlasenko
0d058361e7
Add NOFORK/NOEXEC documentation.
2007-04-11 16:16:41 +00:00
Denis Vlasenko
03fc408de6
fix typo in comment
2007-04-11 07:36:31 +00:00
Denis Vlasenko
d571c08c25
fix misplaced #if
2007-04-11 07:26:56 +00:00
Denis Vlasenko
473dae080a
add more convenient defines for [NO]MMU:
...
"#ifndef BB_NOMMU" is a double negative
2007-04-11 07:04:23 +00:00
Denis Vlasenko
f1a7141cfc
random NOMMU fixes. compressed --help really does work for NOMMU! /me happy
2007-04-10 23:32:37 +00:00
Denis Vlasenko
80d14beae9
Rename two config options:
...
FEATURE_SH_STANDALONE_SHELL => FEATURE_SH_STANDALONE
FEATURE_EXEC_PREFER_APPLETS => FEATURE_PREFER_APPLETS
Make SH_STANDALONE depend on PREFER_APPLETS.
getopt.c: more randomconfig-induced fixes
2007-04-10 23:03:30 +00:00
Denis Vlasenko
8905496444
xargs: fix my brain fart (resulted in memory leak)
2007-04-10 21:41:16 +00:00
Denis Vlasenko
c6758a07c6
make compressed help code NOMMU- and NOFORK-friendly -
...
no forking anymore, bunzip2 unpack routine now does all it in memory.
2007-04-10 21:40:19 +00:00
Denis Vlasenko
335b63d8d1
make a few struct bb_applet members conditional
...
rename sllep_and_die -> xfunc_die
make fflush_stdout_and_exit NOFORK-safe
fix some buglets found by randomconfig
2007-04-10 21:38:30 +00:00
Denis Vlasenko
246b5c3916
one-liner: fix indentation
2007-04-10 17:18:12 +00:00
Denis Vlasenko
b38cf3ff8a
bunzip2: big style cleanup. No code changes apart from one s/write/safe_write/
...
(verified with objdump).
2007-04-10 17:16:33 +00:00
Denis Vlasenko
a9d7d24e1f
echo: fix regression ("echo" with no arguments didn't print newline.
...
echo: use fputs if no options are given. Code growth ~15 bytes.
Old:
# time ./busybox find $bigdir -exec echo {} \; >/dev/null
real 0m2.038s
user 0m0.761s
sys 0m0.953s
New:
# time ./busybox find $bigdir -exec echo {} \; >/dev/null
real 0m1.781s
user 0m0.781s
sys 0m0.939s
For comparison: without NOFORK:
# time find $bigdir -exec echo {} \; >/dev/null
real 1m51.129s
user 0m38.442s
sys 1m3.350s
2007-04-10 16:34:00 +00:00
Denis Vlasenko
99912ca733
audit small applets and mark some of them as NOFORK.
...
Put big scary warnings in relevant places.
2007-04-10 15:43:37 +00:00
Denis Vlasenko
ff131b980d
style fixes. No code changes.
2007-04-10 15:42:06 +00:00
Denis Vlasenko
3f3aa2a57d
make xfunctions optionally longjump instead of exit.
...
use it for making NOFORK more practical.
touch: make it a NOFORK applet
2007-04-09 21:35:07 +00:00
Denis Vlasenko
cd7001f705
factor out NOFORK/NOEXEC code from find. Use it for xargs too.
2007-04-09 21:32:30 +00:00
Denis Vlasenko
1b4b2cb20e
xargs: shrink code, ~80 bytes
...
applets.h: +#undef APPLET_NOEXEC
2007-04-09 21:30:53 +00:00
Denis Vlasenko
53d445aa75
wait4pid: if passed with pid < 0, do not set errno - it is already set by exec!
2007-04-09 13:21:33 +00:00
Denis Vlasenko
7e754f12d3
Implement first instance of NOFORK applet - echo
...
find: use NOFORK/NOEXEC; small -exec buglet also eliminated
vfork_daemon_rexec: honor PREFER_APPLETS
echo: small size improvements
find -exec echo {} \; with PREFER_APPLETS=y runs 4 times faster
2007-04-09 13:04:50 +00:00
Denis Vlasenko
2dfdd44d9d
busybox: fix "<applet>: applet not found" message
2007-04-09 03:29:43 +00:00
Denis Vlasenko
c44ab01b75
Improve STANDALONE_SHELL. "safe" applets are renamed NOEXEC applets
...
and now this fact is recorded in applets.h, not ash.c.
Several fixes to "--help + STANDALONE_SHELL" scenarios.
function old new delta
run_current_applet_and_exit - 355 +355
arith 2064 2073 +9
refresh 1148 1156 +8
getopt32 1068 1073 +5
telnet_main 1510 1514 +4
md5_sha1_sum_main 565 566 +1
xstrtoul_range_sfx 255 251 -4
packed_usage 22523 22514 -9
tryexec 255 203 -52
static.safe_applets 152 - -152
.rodata 131320 131128 -192
run_applet_by_name 869 506 -363
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 5/5 up/down: 382/-772) Total: -390 bytes
./busybox ash -c 'i=20000; while test $i != 0; do touch z; i=$((i-1)); done'
runs more than twice as fast with STANDALONE_SHELL versus without.
2007-04-09 03:11:58 +00:00
Denis Vlasenko
95cb3263ae
msh: smallish code shrinkage; cosmetics
2007-04-09 03:06:34 +00:00
Denis Vlasenko
32b633aa3f
merge busybox.c into applets.c
2007-04-09 03:05:48 +00:00
Denis Vlasenko
786834bcee
applets.h: de-obfuscate
2007-04-08 17:30:10 +00:00
Denis Vlasenko
240a1cfbbe
add some missed statics on constant objects.
...
fix few #ifndef ENABLE_xxx
# size busybox_old busybox_unstripped
text data bss dec hex filename
677152 2920 18208 698280 aa7a8 busybox_old
676420 2920 18208 697548 aa4cc busybox_unstripped
2007-04-08 16:07:02 +00:00
Denis Vlasenko
5694d5f8d2
adding small script, mostly for documentational purposes
2007-04-08 15:12:21 +00:00
Denis Vlasenko
8d9f495d68
getopt32: fix llist_t options ordering. llist_rev is not unused.
...
function old new delta
tar_main 705 695 -10
sort_main 928 918 -10
decode_format_string 886 876 -10
run_parts_main 197 185 -12
ps_main 513 500 -13
wget_main 2764 2750 -14
awk_main 1014 1000 -14
od_main 2886 2866 -20
llist_rev 25 - -25
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/8 up/down: 0/-128) Total: -128 bytes
2007-04-08 15:08:42 +00:00
Denis Vlasenko
b04b4357ff
find: fix -prune more. Add big comment about it.
2007-04-08 11:10:43 +00:00
Denis Vlasenko
bbd695d801
find: fix handling of -prune
...
recursive_actions: uppercase flag constants
2007-04-08 10:52:28 +00:00
Denis Vlasenko
ca3484103e
busybox.net: micro fix
2007-04-07 10:49:02 +00:00
Denis Vlasenko
1ae63fc1bc
busybox.net: update "screenshot"
2007-04-07 10:46:33 +00:00
Denis Vlasenko
9c146a91d3
getopt: use getopt32 for option parsing - inspired by patch by
...
Mats Erik Andersson <mats.andersson64@comhem.se >
function old new delta
getopt_main 809 810 +1
static.BUFFER 4 - -4
shell 8 4 -4
quote 4 - -4
quiet_output 4 - -4
quiet_errors 4 - -4
long_options_nr 4 - -4
long_options_length 4 - -4
long_options 388 384 -4
alternative 4 - -4
shortopts 15 - -15
normalize 243 220 -23
.rodata 131832 131800 -32
add_longopt 200 - -200
------------------------------------------------------------------------------
(add/remove: 0/9 grow/shrink: 1/4 up/down: 1/-306) Total: -305 bytes
2007-04-07 10:25:04 +00:00
Denis Vlasenko
fdf63a30fe
docs: "how to add a patch"
2007-04-07 09:35:56 +00:00
Denis Vlasenko
540a2a1f3b
libiproute: audit callgraph, shortcut error paths into die() functions.
...
Kill a few statics, made other globals smaller:
oneline is smallint, _SL_ is char
function old new delta
print_tunnel 693 731 +38
print_route 1775 1777 +2
print_addrinfo 1495 1497 +2
ipaddr_list_or_flush 2826 2828 +2
oneline 4 1 -3
_SL_ 4 1 -3
ipaddr_modify 1476 1472 -4
parse_address 124 119 -5
ip_parse_common_args 429 423 -6
on_off 53 46 -7
do_del_ioctl 113 106 -7
do_add_ioctl 120 113 -7
do_show 864 856 -8
iprule_list 157 148 -9
do_iptunnel 310 299 -11
do_add 143 126 -17
get_ctl_fd 95 76 -19
set_address 108 84 -24
ip_main 351 323 -28
static.ifr 32 - -32
parse_args 1992 1949 -43
iproute_list_or_flush 1673 1582 -91
do_iplink 1583 1485 -98
filter 280 - -280
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 4/18 up/down: 44/-702) Total: -658 bytes
2007-04-07 01:14:45 +00:00
Denis Vlasenko
fbd2918f5c
udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata.
...
a few global variables reduced to smallints
function old new delta
add_lease 75 227 +152
static.blank_chaddr - 16 +16
MAC_BCAST_ADDR - 6 +6
sockfd 4 8 +4
udhcp_run_script 1153 1155 +2
state 8 5 -3
listen_mode 4 1 -3
perform_release 152 148 -4
fd 8 4 -4
blank_chaddr 16 - -16
udhcpc_main 2518 2497 -21
.rodata 131864 131832 -32
oldest_expired_lease 61 - -61
clear_lease 127 - -127
------------------------------------------------------------------------------
(add/remove: 2/3 grow/shrink: 3/6 up/down: 180/-271) Total: -91 bytes
2007-04-07 01:05:47 +00:00
Denis Vlasenko
bb5b01c7c7
comm: eliminate statics
2007-04-07 00:45:27 +00:00
Denis Vlasenko
04c99ebb4f
random small shrinkage and elimination of statics
2007-04-07 00:44:31 +00:00
Denis Vlasenko
19507f0869
nc: code shrinkage, bugfixes. -50 bytes code size
2007-04-06 10:41:05 +00:00
Denis Vlasenko
5a30d59c3d
svn add match_fstype.c :(
2007-04-05 22:19:43 +00:00
Denis Vlasenko
bf295dd5b6
[u]mount: extend -t option (Roy Marples <uberlord@gentoo.org>)
2007-04-05 21:57:47 +00:00
Denis Vlasenko
df5bbb938a
diff: fix segfault on empty dirs (Peter Korsgaard <peter.korsgaard@barco.com>)
2007-04-05 21:29:42 +00:00
Denis Vlasenko
1bb552b1d9
libbb: add xunlink()
...
patch: do not try to delete same file twice
2007-04-05 21:25:15 +00:00
Denis Vlasenko
2f7b923f5c
find: improve usage text (Natanael Copa <natanael.copa@gmail.com>)
2007-04-05 21:01:06 +00:00
Denis Vlasenko
5f42d26865
nc: missed exit() in signal handler
2007-04-05 20:57:10 +00:00
Denis Vlasenko
29fe7265b8
nc: port nc 1.10 to busybox
2007-04-05 20:26:28 +00:00
Denis Vlasenko
7d6c9296e7
find: missed 'ststic' on const data
2007-04-05 00:35:43 +00:00
Denis Vlasenko
56fce00fc7
find: un-DESKTOPize (Kai Schwenzfeier <niteblade@gmx.net>)
...
find: -group, -depth (Natanael Copa <natanael.copa@gmail.com >)
find: make constant array static, declare PARM_xx constants with enum
2007-04-04 23:41:35 +00:00
Denis Vlasenko
1ca332b367
reword comment
2007-04-04 17:49:47 +00:00
Denis Vlasenko
794687947f
Add/improve comment, shorten some usage texts. No code changes.
2007-04-04 11:02:55 +00:00