summaryrefslogtreecommitdiff
path: root/shell/ash.c
AgeCommit message (Collapse)Author
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-21fix buglets found by randomconfigDenis Vlasenko
2007-12-16ash: reduce global data/bss usageDenis Vlasenko
(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-09lineedit: don't violate API if we do simple fgetsDenis Vlasenko
ash: cosmetic style fixes, no code changes
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-11-26ash: make code simpler, and do not do close(-1) - it's rudeDenis Vlasenko
2007-11-24remove echo_main -> bb_echo indirectionDenis Vlasenko
2007-11-22ash: fix bug where redirection of closed fd was leaving it open afterwards.Denis Vlasenko
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-10-29ash: if tcgetattr(stdin) fails, don't mess with tcsetattrDenis Vlasenko
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-20read_line_input: fix it to not do any fancy editing if echoing is disabled.Denis Vlasenko
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-17ash: use fdprintf, not dprintf.Denis Vlasenko
*: trailing whitespace removed
2007-10-11add -fvisibility=hidden to CC flags, mark XXX_main functionsDenis Vlasenko
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-10-10get rid of global "struct bb_applet *current_applet"Denis Vlasenko
2007-10-07ash: revert "cat | jobs" fix, it causes more problems than goodDenis Vlasenko
2007-09-30introduce and use close_on_exec_on(fd). -50 bytes.Denis Vlasenko
2007-09-28fix "if (p) free(p)" constructsDenis Vlasenko
2007-09-24ash: fix prompt expansion (Natanael Copa <natanael.copa@gmail.com>)Denis Vlasenko
2007-09-21ash: remove erroneously applied patchDenis Vlasenko
2007-09-21httpd: optional support for partial downloadsDenis Vlasenko
2007-09-21ash: s/int/smallint/. -60 bytes.Denis Vlasenko
2007-09-07*: replace select-for-one descriptor with poll, it's smaller.Denis Vlasenko
$ ./.cmk bloatcheck function old new delta readit 406 364 -42 syslogd_main 1249 1206 -43 traceroute_main 4115 4060 -55 mysleep 112 45 -67 arpping 579 441 -138 tftp 1575 1182 -393 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-738) Total: -738 bytes text data bss dec hex filename 770580 1051 10764 782395 bf03b busybox_old 769820 1051 10764 781635 bed43 busybox_unstripped
2007-08-19libbb,crond,lash: fix getopt32 (don't know how it managed to slip through)Denis Vlasenko
*: fcntl(fd, F_GETFL) doesn't require third parameter at all.
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-07-29ash: comment non-obvious code partDenis Vlasenko
2007-07-21style fix (stray space before ';')Denis Vlasenko
2007-07-18ash: fix SEGV in forkchild (jp can be NULL). here documents were affected.Denis Vlasenko
2007-07-15ash: make "jobs | cat" work like in bash (was giving empty output)Denis Vlasenko
2007-07-14ash: small size optimizationDenis Vlasenko
function old new delta makejob 263 270 +7 setjobctl 328 332 +4 jobscmd 96 94 -2 stoppedjobs 53 50 -3 jobctl 4 1 -3 job_warning 4 1 -3 forkshell 644 641 -3 cmdloop 422 409 -13 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/6 up/down: 11/-27) Total: -16 bytes text data bss dec hex filename 675392 2740 13968 692100 a8f84 busybox_old 675380 2740 13968 692088 a8f78 busybox_unstripped
2007-07-14ash: recognize -l as --login equivalent; do not recognize +-loginDenis Vlasenko
2007-07-14ash: fix for buglet in DEBUG code (Nguyen Thai Ngoc Duy <pclouds@gmail.com>)Denis Vlasenko
2007-06-25devfsd: fix formatting (Tito <farmatito@tiscali.it>)Denis Vlasenko
ash: fix SEGV if type has zero parameters
2007-06-25Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms ↵Denis Vlasenko
<wharms@bfs.de>)
2007-06-21test: shrink a bitDenis Vlasenko
function old new delta test_main 5 434 +429 bb_test 473 - -473 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/0 up/down: 429/-473) Total: -44 bytes text data bss dec hex filename 735073 3028 14408 752509 b7b7d busybox_old 735029 3028 14408 752465 b7b51 busybox_unstripped
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-13hush: fix read builtin to not read ahead past eol and to not useDenis Vlasenko
insane amounts of stack. Testsuite updated.
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-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-31use "glibc errno" trick not only for ash, but for entire busyboxDenis Vlasenko
(add/remove: 1/1 grow/shrink: 37/37 up/down: 139/-228) Total: -89 bytes
2007-05-26usage.c: remove reference to busybox.hDenis Vlasenko
*: s/include "busybox.h"/include "libbb.h"
2007-05-20ash: implement type -p, costs less than 10 bytesDenis Vlasenko
(patch by Mats Erik Andersson <mats.andersson64@comhem.se>)
2007-05-17several *.c files:Denis Vlasenko
move 'extern environ' up to the location of #includes
2007-04-29ash,kill: use common code for kill applet/builtinDenis Vlasenko
# 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-28ash: fix infinite loop on exit if tty is not there anymoreDenis Vlasenko
2007-04-14hush: use NOFORK applets as appropriate. Net reduction of code size.Denis Vlasenko
2007-04-13teach find_root_device to deal with /dev/ subdirsDenis Vlasenko
(by "Kirill K. Smirnov" <lich@math.spbu.ru>)
2007-04-11ash: fix kill -l (by Mats Erik Andersson <mats.andersson64@comhem.se>)Denis 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-09Improve STANDALONE_SHELL. "safe" applets are renamed NOEXEC appletsDenis Vlasenko
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-08add some missed statics on constant objects.Denis Vlasenko
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