Denis Vlasenko
fee2d0c256
msh: stop trying to parse variables in "msh SCRIPT VAR=val param".
...
They should be passed as ordinary parameters.
2008-02-12 10:12:18 +00:00
Denis Vlasenko
7e497527ea
msh: instead of fixing "ls | cd", "cd | ls" etc just disallow
...
builtins in pipes. They make no sense there anyway.
msh: shrink umask builtin.
function old new delta
execute 2508 2509 +1
doset 326 317 -9
forkexec 1370 1345 -25
doumask 165 101 -64
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 1/-98) Total: -97 bytes
2008-02-12 09:51:03 +00:00
Denis Vlasenko
e26b2783a5
ash: fix warning about _GNU_SOURCE being redefined, fix typo in comment.
2008-02-12 07:40:29 +00:00
Denis Vlasenko
648b44fd78
msh: shrink, mainly by using smallints
...
function old new delta
synio 251 263 +12
filechar 310 315 +5
subgetc 781 785 +4
brkcontin 106 109 +3
...
yylex 981 976 -5
execute 2513 2508 -5
waitfor 321 315 -6
onintr 103 97 -6
doset 332 326 -6
doexec 186 180 -6
yyparse 65 57 -8
thenpart 135 126 -9
forkexec 1379 1370 -9
onecommand 457 433 -24
newtp 52 28 -24
command 1086 1061 -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 7/23 up/down: 27/-163) Total: -136 bytes
2008-02-12 06:04:06 +00:00
Denis Vlasenko
a5f2cd30c9
msh: do not run pipes where last command is a builtin
...
msh: code shrink and some renames for better readability
2008-02-11 18:10:06 +00:00
Denis Vlasenko
83177991c8
hush: die_sllep needs restoring only if job control is on
2008-02-11 08:44:36 +00:00
Denis Vlasenko
08126f665d
hush: close-on-exec interactive_fd
2008-02-11 08:39:11 +00:00
Denis Vlasenko
459a5ad410
hush: set CLOEXEC on script file being executed
2008-02-11 08:35:03 +00:00
Denis Vlasenko
4ecfcdcced
hush: fix the comment
2008-02-11 08:32:31 +00:00
Denis Vlasenko
c04163a289
hush: reset die_sleep to 0 in child after fork
2008-02-11 08:30:53 +00:00
Denis Vlasenko
991a1da148
ash: fix "orwell bug" 1984. Testcase:
...
trap_handler() {
echo trap
}
trap trap_handler USR1
sleep 3600 &
while true; do wait; done
2008-02-10 19:02:53 +00:00
Denis Vlasenko
0ef240d979
hush: small fixes to docs/testsuite
2008-02-10 16:00:30 +00:00
Denis Vlasenko
05743d7949
hush: reinstate cmd
handling for NOMMU (with fat big warning).
...
hush: fix a case where none of pipe members could be started
because of fork failure
hush: rename functions: xxx_real -> xxx
hush: try to add a bit more of vfork-friendliness
hush: add rudimentary design docs
hush: add TODO (newly discovered bug with globbing)
2008-02-10 12:10:08 +00:00
Denis Vlasenko
5c3d2b334a
ash: readability enhancement, no code changes
2008-02-03 22:01:08 +00:00
Denis Vlasenko
6e602c4931
msh: also handle EOF/read errors correctly
2008-02-02 18:50:50 +00:00
Denis Vlasenko
80667e30fb
msh: fix Ctrl-C handling with line editing
2008-02-02 18:35:55 +00:00
Denis Vlasenko
36fc3cd8bc
ash: code readability enhancements, no real code changes
2008-01-29 09:23:49 +00:00
Denis Vlasenko
847fa779af
*: tidy up usage of char **environ
2008-01-28 22:45:43 +00:00
Denis Vlasenko
d2c450ce81
hush: report [v]fork failures
...
hush: more correct handling of piping
config: add CONFIG_NOMMU
2008-01-08 20:32:12 +00:00
Denis Vlasenko
fb0eba706c
libbb: introduce and use safe_waitpid (loops in EINTR)
...
*: use more approproate (shorter) versions of wait()
function old new delta
safe_waitpid - 48 +48
wait_any_nohang - 17 +17
send_tree 365 369 +4
processorstop 432 435 +3
text_yank 110 108 -2
make_human_readable_str 202 200 -2
crond_main 1368 1366 -2
handle_sigchld 49 43 -6
reapchild 166 159 -7
custom 260 250 -10
checkscript 191 177 -14
wait_nohang 17 - -17
wait_pid 43 - -43
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 2/7 up/down: 72/-103) Total: -31 bytes
2008-01-02 19:55:04 +00:00
Mike Frysinger
08137c28c4
add expected output
2007-12-25 04:35:05 +00:00
Denis Vlasenko
3b4921674e
hush: fixlet for NOMMU
...
update TODO_config_nommu
2007-12-24 14:26:57 +00:00
Denis Vlasenko
528a8b9769
cttyhack: trivial build fixlet
2007-12-22 19:57:28 +00:00
Denis Vlasenko
ee87ebf381
fix buglets found by randomconfig
2007-12-21 22:18:16 +00:00
Denis Vlasenko
c794c51a1a
msh: reduce global data/bss usage
...
(add/remove: 1/5 grow/shrink: 28/6 up/down: 464/-394) Total: 70 bytes
text data bss dec hex filename
778077 908 7568 786553 c0079 busybox_old
778330 860 7408 786598 c00a6 busybox_unstripped
2007-12-16 17:21:29 +00:00
Denis Vlasenko
0163111325
ash: reduce global data/bss usage
...
(add/remove: 4/29 grow/shrink: 76/21 up/down: 1007/-1713) Total: -706 bytes
text data bss dec hex filename
777206 1084 8976 787266 c0342 busybox_old
778077 908 7568 786553 c0079 busybox_unstripped
2007-12-16 17:20:38 +00:00
Denis Vlasenko
d7e2e127a9
cttyhack: add missing ';'
...
init: remove pointless access() check
2007-12-10 08:40:29 +00:00
Denis Vlasenko
2afabe8b83
init: remove superfluous forks and messing up with argv[0]
...
cttyhack: add stealing of ctty
2007-12-10 07:06:04 +00:00
Denis Vlasenko
9cb220be9d
lineedit: don't violate API if we do simple fgets
...
ash: cosmetic style fixes, no code changes
2007-12-09 10:03:28 +00:00
Denis Vlasenko
ab801874f8
attack the biggest stack users:
...
-mkfs_minix_main [busybox_unstripped]: 4288
-mkfs_minix_main [busybox_unstripped]: 4276
-grave [busybox_unstripped]: 4260
(bzip2 users too - not listed)
price we pay in code size increase:
mainSort 2458 2515 +57
grave 1005 1058 +53
sendMTFValues 2177 2195 +18
BZ2_blockSort 122 125 +3
mkfs_minix_main 3070 3022 -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/1 up/down: 131/-48) Total: 83 bytes
2007-12-02 08:35:37 +00:00
Denis Vlasenko
1aa7e477b1
reorganize applet table. Eliminates pointers to names.
...
Should be a big win for libbusybox. busybox wins too:
text data bss dec hex filename
776524 929 9100 786553 c0079 busybox_old
775903 929 9100 785932 bfe0c busybox_unstripped
2007-11-28 06:49:03 +00:00
Denis Vlasenko
ed270a5f32
ash: make code simpler, and do not do close(-1) - it's rude
2007-11-26 05:37:07 +00:00
Denis Vlasenko
fe5e23bf75
remove echo_main -> bb_echo indirection
2007-11-24 02:23:51 +00:00
Denis Vlasenko
c3c6659f12
hush: fix segfault in "echo $@" when we have no arguments
2007-11-24 00:22:42 +00:00
Denis Vlasenko
96702ca945
kill lash. "lash" builtin still exists, but it runs hush.
2007-11-23 23:28:55 +00:00
Denis Vlasenko
5bc593ccb8
hush: implement echo builtin
...
builtin_echo - 36 +36
bltins 384 396 +12
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 48/0) Total: 48 bytes
2007-11-23 21:20:21 +00:00
Denis Vlasenko
cccdc4e01a
hush: fix $ expansion in redirections, add testcase for that
2007-11-23 21:08:38 +00:00
Denis Vlasenko
835068637e
hush: implement test builtin
2007-11-23 13:11:42 +00:00
Denis Vlasenko
f962a0354e
hush: plug memory leak
2007-11-23 12:50:54 +00:00
Denis Vlasenko
7d75a96b15
ash: fix bug where redirection of closed fd was leaving it open afterwards.
...
redirect 983 1024 +41
bb_echo 276 301 +25
popredir 118 132 +14
evalcommand 1163 1176 +13
bbunpack 358 366 +8
echocmd 13 5 -8
echo_main 13 5 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/2 up/down: 101/-16) Total: 85 bytes
text data bss dec hex filename
774999 962 9236 785197 bfb2d busybox_old
775084 962 9236 785282 bfb82 busybox_unstripped
2007-11-22 08:16:57 +00:00
Denis Vlasenko
a6899c3587
lash: fix compile-time warning
2007-11-15 17:47:45 +00:00
Denis Vlasenko
a59f435b5f
ash: if tcgetattr(stdin) fails, don't mess with tcsetattr
...
ash: size-optimize ulimit's table of limits
text data bss dec hex filename
777345 974 9676 787995 c061b busybox_old
777253 974 9676 787903 c05bf busybox_unstripped
2007-10-29 19:17:29 +00:00
Denis Vlasenko
037576d77b
read_line_input: fix it to not do any fancy editing if echoing is disabled.
...
ash: make read handling both more correct and smaller
read_line_input 4037 4101 +64
input_backward 140 139 -1
readcmd 1079 1070 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 65/-10) Total: 54 bytes
text data bss dec hex filename
777575 1000 9532 788107 c068b busybox_old
777629 1000 9532 788161 c06c1 busybox_unstripped
2007-10-20 18:30:38 +00:00
Denis Vlasenko
0de37e10ed
ash: use fdprintf, not dprintf.
...
*: trailing whitespace removed
2007-10-17 11:08:53 +00:00
Denis Vlasenko
9b49a5ed85
add -fvisibility=hidden to CC flags, mark XXX_main functions
...
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-10-11 10:05:36 +00:00
Denis Vlasenko
82d38dab91
get rid of global "struct bb_applet *current_applet"
2007-10-10 14:38:47 +00:00
Denis Vlasenko
41770226bb
ash: revert "cat | jobs" fix, it causes more problems than good
2007-10-07 18:02:52 +00:00
Denis Vlasenko
0c97c9d437
'simple' error message functions by Loic Grenie <loic.grenie@gmail.com>.
...
263 bytes saved.
2007-10-01 11:58:38 +00:00
Denis Vlasenko
d65ea39ffc
hush: fix glob() abuse. Code was making unfounded assumptions how
...
glob() works, and it broke horribly on specific uclibc config.
2007-10-01 10:02:25 +00:00
Denis Vlasenko
ff0976248a
hush: int->smallint for flag vars; make some names more "greppable"
2007-10-01 10:00:45 +00:00