summaryrefslogtreecommitdiff
path: root/shell (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ash: fix "(cat < file)" hang introduced by rev 22944.Denis Vlasenko2008-08-163-11/+20
|
* - fix typoBernhard Reutner-Fischer2008-08-061-1/+1
|
* hush: fix mishandling of a'b'c=fff as assignments. They are not.Denis Vlasenko2008-08-045-58/+127
| | | | | | | | | | | | | | function old new delta parse_stream 1920 2004 +84 done_word 715 752 +37 parse_and_run_stream 328 333 +5 builtin_exec 25 29 +4 pseudo_exec_argv 138 139 +1 run_list 2006 1999 -7 is_assignment 215 134 -81 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/2 up/down: 131/-88) Total: 43 bytes
* hush: remove a comment about already fixed bugDenis Vlasenko2008-08-031-2/+0
|
* hush: support $_NUMBERS variable namesDenis Vlasenko2008-07-315-4/+19
|
* hush: fix "case ... in <newline> word)..."Denis Vlasenko2008-07-313-1/+20
|
* hush: support "pattern1|pattern2...)" in case statementsDenis Vlasenko2008-07-311-8/+18
| | | | | | parse_stream 1847 1861 +14 run_list 1995 2006 +11
* ash: bash compat: "shift $BIGNUM" is equivalent to "shift 1"Denis Vlasenko2008-07-303-1/+20
|
* hush: trivial code shrinkDenis Vlasenko2008-07-291-8/+4
| | | | | | function old new delta builtin_continue 48 22 -26
* hush: use G.xxx instead of #define xxx G.xxx. We have too many globalsDenis Vlasenko2008-07-291-234/+198
| | | | | there and #defines get messy. Remove one write-only G.variable.
* randomconfig fixDenis Vlasenko2008-07-291-2/+2
|
* hush: small fix for repeated continue and fix for wrong loop depth countDenis Vlasenko2008-07-293-1/+17
| | | | | after Ctrl-C; with testcase for first one
* hush: fix inverted check (was making all break's to act as "break 99999")Denis Vlasenko2008-07-291-1/+1
|
* hush: fix break'ing out of {} and () groups; with testcaseDenis Vlasenko2008-07-293-13/+43
| | | | | | | | function old new delta builtin_break 93 129 +36 builtin_continue 21 47 +26 run_list 1973 1976 +3
* randomconfig fixesDenis Vlasenko2008-07-291-2/+6
|
* hush: add #defines to switch off break/continue if loops are not supportedDenis Vlasenko2008-07-293-1/+24
| | | | | | *: remove a few inline keywords no code changes
* hush: fix "while false; ..." exitcode; add testsuitesDenis Vlasenko2008-07-285-1/+24
|
* hush: support "break N" and "continue N"Denis Vlasenko2008-07-287-35/+82
| | | | | | | | | | | | | | | fix non-detection of builtins and applets in "v=break; ...; $v; ..." case add testsuite entries for the above function old new delta builtin_break 12 93 +81 run_list 1948 1971 +23 builtin_continue 12 21 +9 pseudo_exec_argv 132 138 +6 builtin_exec 23 25 +2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/0 up/down: 121/0) Total: 121 bytes
* hush: implement break and continueDenis Vlasenko2008-07-282-77/+107
| | | | | | | | | | | | function old new delta bltins 252 276 +24 builtin_continue - 12 +12 builtin_break - 12 +12 static.version_str 18 17 -1 run_list 1984 1948 -36 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 1/2 up/down: 48/-27) Total: 11 bytes
* hush: in run_list(), some loop_top ops seems to be superfluous.Denis Vlasenko2008-07-281-15/+15
| | | | | | | | | comment them out. Also, use separate temp variable for verification loop, helps gcc to optimize better. function old new delta run_list 2039 1984 -55
* hush: in run_list(), last_cond_code seems to be superfluous. comment it outDenis Vlasenko2008-07-281-16/+18
| | | | | | | | function old new delta run_list 2055 2039 -16 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-16) Total: -16 bytes
* hush: explain run_list() in detail; small optimizationsDenis Vlasenko2008-07-281-92/+109
| | | | | | | | | | | | function old new delta hush_main 785 786 +1 expand_variables 1447 1448 +1 builtin_exit 48 49 +1 builtin_eval 54 55 +1 run_list 2075 2055 -20 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/1 up/down: 4/-20) Total: -16 bytes
* documentation fixDenis Vlasenko2008-07-281-3/+3
|
* hush: finish and enable optional case...esac support. Code size cost:Denis Vlasenko2008-07-284-13/+69
| | | | | | | | | | | | | | | | function old new delta run_list 1891 2075 +184 parse_stream 1764 1847 +83 expand_strvec_to_string - 83 +83 done_word 647 715 +68 static.reserved_list 144 168 +24 static.reserved_match - 12 +12 done_pipe 95 105 +10 builtin_exit 48 46 -2 builtin_eval 127 54 -73 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 5/2 up/down: 464/-75) Total: 389 bytes
* ash: add slightly different testcaseDenis Vlasenko2008-07-264-2/+23
|
* ash: fix testcase to not sleep for whole 10 seconds,Denis Vlasenko2008-07-262-12/+11
| | | | | gets annoying pretty fast. Also fix wrong message there.
* ash: fix typoDenis Vlasenko2008-07-261-1/+1
|
* ash: hopefully close bug 4324. With testcase.Denis Vlasenko2008-07-263-17/+57
| | | | | | | function old new delta evaltree 621 869 +248 popstring 134 140 +6
* ash: testsuite entries for last changeDenis Vlasenko2008-07-252-0/+5
|
* ash: dont allow e.g. exec <&10 to attach to stript's fd!Denis Vlasenko2008-07-251-12/+35
| | | | | | | | | | | | | function old new delta is_hidden_fd - 61 +61 redirect 1135 1164 +29 popstring 134 140 +6 printf_main 635 637 +2 evalvar 1374 1376 +2 echo_main 294 296 +2 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 5/0 up/down: 102/0) Total: 102 bytes
* ash: prevent exec NN>&- from closing fd used for script readingDenis Vlasenko2008-07-243-8/+98
|
* ash: fix a bug where redirection fds were not closed afterwards.Denis Vlasenko2008-07-246-39/+53
| | | | | | | | | | | | | 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
* ash: teach ash about 123>file. It could take only 0..9 beforeDenis Vlasenko2008-07-241-45/+97
| | | | | | | | | | | | | | | 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
* ash: ducument where "no fds > 9 in redirects" limitation is.Denis Vlasenko2008-07-241-3/+4
| | | | | no code changes.
* ash: ditch dupredirect(), it was only making code harder to read.Denis Vlasenko2008-07-241-28/+24
| | | | | | | | | incorporate it in its single callsite. function old new delta redirect 1054 1052 -2 changepath 196 194 -2
* ash: explain redirect code a bitDenis Vlasenko2008-07-241-29/+39
| | | | | | function old new delta redirect 1059 1054 -5
* ash: code shrinkDenis Vlasenko2008-07-241-35/+33
| | | | | | | | | | | | | | | | | | | | | | 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
* - wrap overlong lines (Cristian Ionescu-Idbohrn)Bernhard Reutner-Fischer2008-07-221-9/+9
| | | | - s/\. /. /g;# (me)
* libbb: [x]fopen_for_{read,write} introduced and used.Denis Vlasenko2008-07-213-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* - fix spellingBernhard Reutner-Fischer2008-07-213-12/+12
|
* msh: fix "while...continue" bug 3884.Denis Vlasenko2008-07-203-0/+24
|
* config help fixesDenis Vlasenko2008-07-161-1/+1
|
* hush: fix "... pattern) cmd;; esac" caseDenis Vlasenko2008-07-142-3/+27
|
* hush: delete unused field in struct child.Denis Vlasenko2008-07-142-16/+95
| | | | | | reinstate needed check for invalid syntax. document command parsing in hush_doc.txt.
* hush: add case statement support. It is incomplete and disabled for now.Denis Vlasenko2008-07-141-45/+147
| | | | | costs ~300 bytes when enabled.
* ash: small code shrinkDenis Vlasenko2008-07-131-5/+5
|
* ash: fix segfault in "command -v"Denis Vlasenko2008-07-111-12/+24
|
* hush: compile fixes for !LOOPS caseDenis Vlasenko2008-07-091-0/+4
|
* hush: support "for if in do done then; do echo $if; done" caseDenis Vlasenko2008-07-063-24/+41
| | | | | | | | | | 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
* hush: support "for v; do ... done" syntax (implied 'in "$@"')Denis Vlasenko2008-07-053-14/+38
|