summaryrefslogtreecommitdiff
path: root/shell
AgeCommit message (Collapse)Author
2008-07-24ash: prevent exec NN>&- from closing fd used for script readingDenis Vlasenko
2008-07-24ash: fix a bug where redirection fds were not closed afterwards.Denis Vlasenko
optimize close+fcntl(DUPFD) into dup2. add testsuites. function old new delta copyfd 47 68 +21 argstr 1311 1298 -13 popredir 148 131 -17 redirect 1139 1107 -32 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/3 up/down: 21/-62) Total: -41 bytes
2008-07-24ash: teach ash about 123>file. It could take only 0..9 beforeDenis Vlasenko
function old new delta redirect 1052 1139 +87 need_to_remember - 36 +36 popredir 132 148 +16 fixredir 86 101 +15 readtoken1 3130 3143 +13 evalvar 1374 1376 +2 popstring 140 134 -6 cmdtxt 592 561 -31 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/2 up/down: 169/-37) Total: 132 bytes
2008-07-24ash: ducument where "no fds > 9 in redirects" limitation is.Denis Vlasenko
no code changes.
2008-07-24ash: ditch dupredirect(), it was only making code harder to read.Denis Vlasenko
incorporate it in its single callsite. function old new delta redirect 1054 1052 -2 changepath 196 194 -2
2008-07-24ash: explain redirect code a bitDenis Vlasenko
function old new delta redirect 1059 1054 -5
2008-07-24ash: code shrinkDenis Vlasenko
function old new delta copynode 171 180 +9 evaltreenr 615 621 +6 evaltree 615 621 +6 calcsize 121 127 +6 evalpipe 349 350 +1 redirect 1059 1057 -2 parseheredoc 129 126 -3 makename 35 32 -3 expredir 130 127 -3 parsefname 224 219 -5 popstring 140 134 -6 pipeline 276 268 -8 list 360 351 -9 readtoken1 3157 3130 -27 parse_command 1504 1460 -44 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/10 up/down: 28/-110) Total: -82 bytes
2008-07-22- wrap overlong lines (Cristian Ionescu-Idbohrn)Bernhard Reutner-Fischer
- s/\. /. /g;# (me)
2008-07-21libbb: [x]fopen_for_{read,write} introduced and used.Denis Vlasenko
(by Valdimir) function old new delta config_open2 - 41 +41 config_read 507 542 +35 find_pair 169 187 +18 fopen_for_write - 14 +14 fopen_for_read - 14 +14 find_main 406 418 +12 xfopen_for_write - 10 +10 xfopen_for_read - 10 +10 popstring 134 140 +6 parse_inittab 396 401 +5 next_token 923 928 +5 pack_gzip 1659 1661 +2 bb__parsespent 117 119 +2 fallbackSort 1719 1717 -2 evalvar 1376 1374 -2 qrealloc 36 33 -3 ... ... ... ... singlemount 4579 4569 -10 process_stdin 443 433 -10 patch_main 1111 1101 -10 ifupdown_main 2175 2165 -10 file_action_grep 90 80 -10 uuidcache_init 649 637 -12 hush_main 797 785 -12 read_config 230 217 -13 dpkg_main 3835 3820 -15 read_line_input 3134 3110 -24 sysctl_main 232 203 -29 config_open 40 10 -30 WARN_BAD_LINE 44 - -44 login_main 1714 1575 -139 ------------------------------------------------------------------------------ (add/remove: 5/1 grow/shrink: 8/74 up/down: 174/-737) Total: -563 bytes
2008-07-21- fix spellingBernhard Reutner-Fischer
2008-07-20msh: fix "while...continue" bug 3884.Denis Vlasenko
2008-07-16config help fixesDenis Vlasenko
2008-07-14hush: fix "... pattern) cmd;; esac" caseDenis Vlasenko
2008-07-14hush: delete unused field in struct child.Denis Vlasenko
reinstate needed check for invalid syntax. document command parsing in hush_doc.txt.
2008-07-14hush: add case statement support. It is incomplete and disabled for now.Denis Vlasenko
costs ~300 bytes when enabled.
2008-07-13ash: small code shrinkDenis Vlasenko
2008-07-11ash: fix segfault in "command -v"Denis Vlasenko
2008-07-09hush: compile fixes for !LOOPS caseDenis Vlasenko
2008-07-06hush: support "for if in do done then; do echo $if; done" caseDenis Vlasenko
function old new delta done_pipe 83 95 +12 parse_stream 1758 1764 +6 done_word 674 647 -27 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 18/-27) Total: -9 bytes
2008-07-05hush: support "for v; do ... done" syntax (implied 'in "$@"')Denis Vlasenko
2008-07-05hush: fix a case where "$@" must expand to no word at allDenis Vlasenko
2008-07-05*: rename ATTRIBUTE_XXX to just XXX.Denis Vlasenko
2008-07-01sendmail: fix wrong vfork usage here tooDenis Vlasenko
*: shorten error texts function old new delta launch_helper - 151 +151 vfork_or_die 20 - -20 sendgetmail_main 1946 1848 -98 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/1 up/down: 151/-118) Total: 33 bytes
2008-07-01revert last two commits. vfork cannot be used in subroutine,Denis Vlasenko
it trashes stack on return
2008-07-01*: introduce and use xfork()Denis Vlasenko
function old new delta xfork - 20 +20 msh_main 1377 1380 +3 mod_process 455 446 -9 forkexit_or_rexec 30 17 -13 expand_variables 1434 1421 -13 open_transformer 91 76 -15 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/4 up/down: 23/-50) Total: -27 bytes
2008-07-01*: introduce and use xvfork()Denis Vlasenko
function old new delta time_main 1052 1285 +233 crontab_main 623 856 +233 ifupdown_main 2202 2403 +201 xvfork - 20 +20 passwd_main 1049 1053 +4 grave 1068 1066 -2 script_main 935 921 -14 vfork_or_die 20 - -20 vfork_compressor 206 175 -31 open_as_user 109 - -109 popen2 218 - -218 edit_file 910 690 -220 run_command 268 - -268 ------------------------------------------------------------------------------ (add/remove: 1/4 grow/shrink: 4/4 up/down: 691/-882) Total: -191 bytes
2008-06-29libbb: shrink monotonic_XXX functions, introduce monotonic_nsDenis Vlasenko
(unused for now) function old new delta get_mono - 31 +31 sv_main 1228 1234 +6 expand 1693 1697 +4 get_address 178 181 +3 utoa_to_buf 108 110 +2 builtin_exit 46 48 +2 qrealloc 36 33 -3 qgravechar 109 106 -3 ash_main 1383 1380 -3 grep_file 850 846 -4 popstring 140 134 -6 monotonic_us 85 60 -25 monotonic_sec 41 16 -25 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/7 up/down: 48/-69) Total: -21 bytes
2008-06-27*: introduce and use FAST_FUNC: regparm on i386, otherwise no-onDenis Vlasenko
text data bss dec hex filename 808035 611 6868 815514 c719a busybox_old 804472 611 6868 811951 c63af busybox_unstripped
2008-06-27ash: improve commentsDenis Vlasenko
2008-06-27ash: fix very weak $RANDOM generator; and move even more thingsDenis Vlasenko
out of data/bss text data bss dec hex filename 807935 611 6884 815430 c7146 busybox_old 808035 611 6868 815514 c719a busybox_unstripped
2008-06-27ash: move stuff out of data/bssDenis Vlasenko
text data bss dec hex filename 807939 611 6900 815450 c715a busybox_old 807935 611 6884 815430 c7146 busybox_unstripped
2008-06-26style fixes, no code changesDenis Vlasenko
2008-06-25whitespace fixes. no code changesDenis Vlasenko
2008-06-24hush: ifdef out parts which are not neededDenis Vlasenko
if neither loops nor ifs are supported. Code savings: function old new delta parse_stream 1758 1757 -1 checkjobs 335 318 -17 done_pipe 74 52 -22 expand_variables 1437 1407 -30 run_list 1232 1189 -43 parse_and_run_stream 328 267 -61 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-174) Total: -174 bytes
2008-06-24hush: kill some old unused fields; small code shrinkDenis Vlasenko
function old new delta builtin_exit 48 47 -1 checkjobs 351 335 -16 checkjobs_and_fg_shell 60 35 -25 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-42) Total: -42 bytes
2008-06-23fix breakage found by randomconfigDenis Vlasenko
2008-06-23hush: trivial fix in debug codeDenis Vlasenko
2008-06-23ash: trivial code readability fixesDenis Vlasenko
2008-06-23ash: improve readability of the code. No real code changes.Denis Vlasenko
2008-06-23ash: optional support for $'...\t...\n...' bashismDenis Vlasenko
function old new delta readtoken1 2824 3172 +348 static.C_escapes - 18 +18 parse_command 1504 1500 -4 SIT 89 83 -6 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/2 up/down: 366/-10) Total: 356 bytes
2008-06-22ash: minor shrink (mostly smallints) and variable renamingDenis Vlasenko
function old new delta optschanged 85 91 +6 tryexec 115 118 +3 xxreadtoken 290 292 +2 raise_error_unexpected_syntax 75 77 +2 bltincmd 6 8 +2 parseheredoc 128 129 +1 static.is_interactive 4 1 -3 readtoken 156 153 -3 lasttoken 4 1 -3 evalcommand 1147 1144 -3 checkkwd 4 1 -3 back_exitstatus 4 1 -3 pipeline 282 276 -6 list 369 360 -9 ash_main 1402 1393 -9 options 616 606 -10 readtoken1 2823 2811 -12 parse_command 1529 1507 -22 ------------------------------------------------------------------------------ (add/remove: 2/2 grow/shrink: 6/12 up/down: 21/-91) Total: -70 bytes text data bss dec hex filename 807603 611 6908 815122 c7012 busybox_old 807545 611 6900 815056 c6fd0 busybox_unstripped
2008-06-18ash: fix "shift BIGNUM" and "read with no variable name" bugs.Denis Vlasenko
omg. hush testsuite helps to find bugs in ash! what next? function old new delta static.arg_REPLY - 8 +8 readcmd 1023 1021 -2 shiftcmd 129 125 -4 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/2 up/down: 8/-6) Total: 2 bytes
2008-06-18cosmetics in hush testsuitesDenis Vlasenko
2008-06-18fix globbing in unquoted $* and $@Denis Vlasenko
2008-06-18hush: fix a bug with backslashes improperly handled in unquoted variables.Denis Vlasenko
with previous patch: function old new delta parse_stream 1638 1758 +120 expand_on_ifs 97 174 +77 free_pipe 206 237 +31 setup_redirect 217 220 +3 setup_redirects 143 144 +1 done_word 698 688 -10 free_strings 38 - -38 expand_variables 1451 1403 -48 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 5/2 up/down: 232/-96) Total: 136 bytes
2008-06-18hush: add testsuite for "no globbing in redirection" rule.Denis Vlasenko
simplify redirection habdling
2008-06-18hush: expand quote3.tests and move from hush-bugs to hush-parsingDenis Vlasenko
2008-06-18hush: fix last hush-bugs testcase (disappearing "", $empty"" etc)Denis Vlasenko
2008-06-17hush: fix $$ handlingDenis Vlasenko
2008-06-17hush: fix "for a in; do echo 'I should never run'; done" bugDenis Vlasenko