aboutsummaryrefslogtreecommitdiff
path: root/shell/msh.c
AgeCommit message (Collapse)Author
2008-02-20libbb: introduce and use nonblock_safe_read(). Yay!Denis Vlasenko
Our shells are immune from this nasty O_NONBLOCK now! function old new delta nonblock_safe_read - 78 +78 file_get 276 295 +19 generateMTFValues 428 435 +7 read_line_input 1776 1772 -4 preadbuffer 543 450 -93 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/2 up/down: 104/-97) Total: 7 bytes text data bss dec hex filename 615190 715 23924 639829 9c355 busybox_old 615168 715 23924 639807 9c33f busybox_unstripped
2008-02-16random s/short/int/Denis Vlasenko
add_cmd 1189 1190 +1 xconnect_ftpdata 118 117 -1 data_align 86 84 -2 process_files 2101 2096 -5 forkexec 1345 1334 -11
2008-02-12msh: stop trying to parse variables in "msh SCRIPT VAR=val param".Denis Vlasenko
They should be passed as ordinary parameters.
2008-02-12msh: instead of fixing "ls | cd", "cd | ls" etc just disallowDenis Vlasenko
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-12msh: shrink, mainly by using smallintsDenis Vlasenko
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-11msh: do not run pipes where last command is a builtinDenis Vlasenko
msh: code shrink and some renames for better readability
2008-02-02msh: also handle EOF/read errors correctlyDenis Vlasenko
2008-02-02msh: fix Ctrl-C handling with line editingDenis Vlasenko
2008-01-28*: tidy up usage of char **environDenis Vlasenko
2008-01-02libbb: introduce and use safe_waitpid (loops in EINTR)Denis Vlasenko
*: 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
2007-12-16msh: reduce global data/bss usageDenis Vlasenko
(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-02attack the biggest stack users:Denis Vlasenko
-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-11-28reorganize applet table. Eliminates pointers to names.Denis Vlasenko
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-10-11add -fvisibility=hidden to CC flags, mark XXX_main functionsDenis Vlasenko
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-09-27introduce bb_putchar(). saves ~1800 on uclibc (less on glibc).Denis Vlasenko
2007-08-12trylink: produce even more info about final link stageDenis Vlasenko
trylink: explain how to modify link and drastically decrease amount of padding (unfortunately, needs hand editing ATM). *: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts size saving: 0.5k
2007-06-25Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms ↵Denis Vlasenko
<wharms@bfs.de>)
2007-06-13*: BB_BANNER -> bb_banner (it is not a const or #define)!Denis Vlasenko
correct_password: explain in detail why it is ok to use bb_banner fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one Marginal size difference: text data bss dec hex filename 679119 2700 15632 697451 aa46b busybox_old 679091 2700 15632 697423 aa44f busybox_unstripped
2007-06-12remove nearly-duplicate PATHs in several placesDenis Vlasenko
function old new delta bb_PATH_root_path - 35 +35 varunset 60 58 -2 arith 2042 2033 -9 bb_default_root_login_path 30 - -30 .rodata 128794 128762 -32 which_main 152 117 -35 defpathvar 40 - -40 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 0/4 up/down: 35/-148) Total: -113 bytes
2007-06-12A few more string duplicates found & eliminatedDenis Vlasenko
# size busybox_old busybox_unstripped text data bss dec hex filename 679693 2700 15632 698025 aa6a9 busybox_old 679523 2700 15632 697855 aa5ff busybox_unstripped
2007-06-08make busybox --install work even if /proc/self/exe doesn't existDenis Vlasenko
# size busybox_old busybox_unstripped text data bss dec hex filename 680095 2704 15648 698447 aa84f busybox_old 680099 2704 15648 698451 aa853 busybox_unstripped
2007-05-30whitespace fixesDenis Vlasenko
2007-05-09msh: fix obscure case with backticks and closed fd 1Denis Vlasenko
2007-04-16shells: remove few statics and duplicated codeDenis Vlasenko
(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-14msh: style fixesDenis Vlasenko
shell/README - a place to record things about busybox shells
2007-04-14lineedit: nuke two unused variables and code which sets themDenis Vlasenko
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-12pass a copy of argv[i] to NOFORK applets (they may permute it etc).Denis Vlasenko
set/save/restore more shared global variables whan call one applet from another
2007-04-12style fixes. No code changesDenis Vlasenko
2007-04-11rename: run_applet_by_name -> run_applet_and_exitDenis Vlasenko
2007-04-10Rename two config options:Denis Vlasenko
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-10make a few struct bb_applet members conditionalDenis Vlasenko
rename sllep_and_die -> xfunc_die make fflush_stdout_and_exit NOFORK-safe fix some buglets found by randomconfig
2007-04-09msh: smallish code shrinkage; cosmeticsDenis Vlasenko
2007-03-27make pidfile writing configurable.Denis Vlasenko
[ui]toa_to_buf: change API. No users yet.
2007-03-24inetd,ed,msh: data/bss reduction (in mss, more than 9k of it)Denis Vlasenko
2007-03-24dc: use common_bufsiz1 for evaluation stackDenis Vlasenko
msh: fix "underscore bug" (a_b=1111 didn't work) dnsd: openlog(), so that applet's name is logged
2007-03-20fix accumulated whitespace and indentation damageDenis Vlasenko
2007-03-09add STANDALONE supportMike Frysinger
2007-03-07clean up accumulated whitespace damageDenis Vlasenko
2007-02-09msh: fix my bugletDenis Vlasenko
2007-02-04find: support for !Denis Vlasenko
2007-02-03suppress warnings about easch <applet>_main() havingDenis Vlasenko
no preceding prototype
2007-02-01msh: cleaning up for -Wwrite-strings part #4Denis Vlasenko
2007-02-01msh: cleaning up for -Wwrite-strings part #3Denis Vlasenko
2007-02-01msh: cleaning up for -Wwrite-strings part #2Denis Vlasenko
2007-02-01msh: cleaning up for -Wwrite-stringsDenis Vlasenko
2007-01-29preparatory patch for -Wwrite-strings #2Denis Vlasenko
2007-01-22cmdedit is not a 'command' editing anymore, it's just editing (generic),Denis Vlasenko
so rename stuff accordingly.
2007-01-22Convert cmdedit into more generic line input facilityDenis Vlasenko
(make history and completion optional at runtime). Use it for fdisk, as an example. Some unrelated fixes in fdisk are also here.
2007-01-01stty: fix width of a field for ppc32Denis Vlasenko
sort: fix -u to match coreutils 6.3 msh: compile fix (my fault)
2007-01-01msh: double "static char line[LINELIM]" etc deleted.Denis Vlasenko
massive amounts of assignments-in-ifs deleted (some of which were VERY nasty)