Denis Vlasenko
46846e25a4
ash: implement type -p, costs less than 10 bytes
...
(patch by Mats Erik Andersson <mats.andersson64@comhem.se>)
2007-05-20 13:08:31 +00:00
Denis Vlasenko
5b34083004
several *.c files:
...
move 'extern environ' up to the location of #includes
2007-05-17 23:02:14 +00:00
Denis Vlasenko
f20de5bb42
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
2007-04-29 23:42:54 +00:00
Denis Vlasenko
08c8c1d3b3
ash: fix infinite loop on exit if tty is not there anymore
2007-04-28 22:39:02 +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
d7c8196c1b
ash: fix kill -l (by Mats Erik Andersson <mats.andersson64@comhem.se>)
2007-04-11 20:43:31 +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
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
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
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
7c139b4778
ash: fix signal handling
2007-03-21 20:17:27 +00:00
Denis Vlasenko
93ebd4f58d
ash: popstackmark is reported trying to pop until NULL
...
is seen (which isn't possible), prevent this.
2007-03-13 20:55:36 +00:00
Denis Vlasenko
8e858e2700
clean up accumulated whitespace damage
2007-03-07 09:35:43 +00:00
Denis Vlasenko
3af3e5b4b0
ash: cosmetic improvements in error messages
2007-03-05 00:24:52 +00:00
Denis Vlasenko
29e31ddd81
ash: do not use "safe applets" in non-standalone shell
2007-03-03 23:12:17 +00:00
Denis Vlasenko
4222ae440a
ash: replace xstrdup (shell shall not die)
...
grep: fix mis-indented block
2007-02-25 02:37:49 +00:00
Denis Vlasenko
5276402f2c
ash: fix compile problems
2007-02-24 13:42:56 +00:00
Denis Vlasenko
f98dc4db7a
ash: cleanup part 2.8
2007-02-23 21:11:02 +00:00
Denis Vlasenko
0dec6de38b
ash: cleanup part 2.7
2007-02-23 21:10:47 +00:00
Denis Vlasenko
cc5715184b
ash: cleanup part 2.6
2007-02-23 21:10:35 +00:00
Denis Vlasenko
2de3d9fbee
ash: cleanup part 2.5
2007-02-23 21:10:23 +00:00
Denis Vlasenko
a89150733a
ash: cleanup part 2.4
2007-02-23 21:10:06 +00:00
Denis Vlasenko
99eb8500c9
ash: cleanup part 2.3
2007-02-23 21:09:49 +00:00
Denis Vlasenko
fc06f2968b
ash: cleanup part 2.2
2007-02-23 21:09:35 +00:00
Denis Vlasenko
5651bfc204
ash: starting second round of cleanups. #1
2007-02-23 21:08:58 +00:00
Denis Vlasenko
bc54cffc83
ash: cleanup part 9
2007-02-23 01:05:52 +00:00
Denis Vlasenko
4d2183bee1
ash: cleanup part 8
2007-02-23 01:05:38 +00:00
Denis Vlasenko
4fe15f3d9e
ash: cleanup part 7
2007-02-23 01:05:26 +00:00
Denis Vlasenko
a6704933dd
ash: cleanup part 6
2007-02-23 01:05:15 +00:00
Denis Vlasenko
5c67e3ed90
ash: cleanup part 5
2007-02-23 01:05:03 +00:00
Denis Vlasenko
fe1f00a7a7
ash: cleanup part 4
2007-02-23 01:04:50 +00:00
Denis Vlasenko
9650f36210
ash: cleanup part 3
2007-02-23 01:04:37 +00:00
Denis Vlasenko
aa74445514
ash: cleanup part 2
2007-02-23 01:04:22 +00:00
Denis Vlasenko
0c032a49b9
ash: cleanup part 1
2007-02-23 01:03:40 +00:00
Denis Vlasenko
a624c11d5e
ash: move ash_main() and helpers to end of ash.c, more fuctions renamed,
...
superfluous casts from memory allocators removed
2007-02-19 22:45:43 +00:00
Denis Vlasenko
2da584fc4e
ash: more renaming and style fixes
2007-02-19 22:44:05 +00:00
Denis Vlasenko
b012b10dbd
ash: rearrange code to reduce forward references, rename some functions
2007-02-19 22:43:01 +00:00
Denis Vlasenko
e5570da2cf
ash: tiny style fixes
2007-02-19 22:41:55 +00:00
Denis Vlasenko
5cedb75aa7
ash: de-obfuscate code, add 'static' keyword, etc.
2007-02-18 19:56:41 +00:00
Denis Vlasenko
131ae177a7
ash: convert #ifdef CONFIG_ to #if ENABLE_
2007-02-18 13:00:19 +00:00
Denis Vlasenko
a0f82e928a
ash: fix indentation and style. no code changes
2007-02-18 12:35:30 +00:00
Denis Vlasenko
06af216528
suppress warnings about easch <applet>_main() having
...
no preceding prototype
2007-02-03 17:28:39 +00:00
Denis Vlasenko
38f6319421
cmdedit is not a 'command' editing anymore, it's just editing (generic),
...
so rename stuff accordingly.
2007-01-22 09:03:07 +00:00
Denis Vlasenko
8e1c71529c
Convert cmdedit into more generic line input facility
...
(make history and completion optional at runtime).
Use it for fdisk, as an example.
Some unrelated fixes in fdisk are also here.
2007-01-22 07:21:38 +00:00
Denis Vlasenko
2f0c0d0b88
Introduce FEATURE_EXEC_PREFER_APPLETS = "re-execute our own
...
executable if we asked to exec someting with argv[0] == known_applet"
Use it in init. Also respect PATH in init, remove explicit "/sbin" etc
from exec. Patch by Gabriel L. Somlo <somlo@cmu.edu>
2007-01-21 00:41:04 +00:00
Denis Vlasenko
7f0d7ae4f5
fix subtle bug inherited from dash
2007-01-18 01:12:57 +00:00
Denis Vlasenko
f7996f3b70
Trailing whitespace removal over entire tree
2007-01-11 17:20:00 +00:00
Denis Vlasenko
62a6983a81
execute "safe applets" exev if not standalone shell
...
(patch by "Eric Spakman" <E.Spakman@inter.nl.net>)
2007-01-10 00:24:50 +00:00
Denis Vlasenko
8f27c34c28
ash: is_safe_applet mustn't affect disabled applets
2006-12-26 21:31:11 +00:00