aboutsummaryrefslogtreecommitdiff
path: root/shell/hush.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* implement `wait` builtinMike Frysinger2009-03-281-0/+35
|
* randomconfig fixDenis Vlasenko2009-03-281-1/+3
|
* update the normally disabled debug code around the syntax() func to use new ↵Mike Frysinger2009-03-281-17/+6
| | | | maybe_die()
* implement most POSIX parameter expansions (~+500bytes)Mike Frysinger2009-03-281-18/+140
|
* split up feature todo by posix/bashMike Frysinger2009-03-281-7/+9
|
* unify `set` handling with command line processing, fixup `set` argv ↵Mike Frysinger2009-03-281-15/+42
| | | | processing so it doesnt clobber argv when setting options, and barf on unhandled set options
* handle the "-s" command line option that POSIX requiresMike Frysinger2009-03-281-1/+6
|
* rename "-f" (fake) option to "-n" to match POSIXMike Frysinger2009-03-281-2/+2
|
* tweak format modifier in debug code to fixup gcc warningMike Frysinger2009-03-281-1/+1
|
* convert some of the ENABLE_FEATURE_EDITING from CPP if to C ifMike Frysinger2009-03-281-24/+18
|
* stop lying about [[ test supportMike Frysinger2009-03-281-1/+0
|
* enable most job functions on no-mmu systemsMike Frysinger2009-03-261-5/+6
|
* do not make startup banner depend on job supportMike Frysinger2009-03-231-4/+5
|
* move parse_stream out of ENABLE_HUSH_TICK to avoid implicit decl/build errorMike Frysinger2009-03-221-3/+3
|
* hush: rearrange functions to reduce amount of forward references.Denis Vlasenko2009-03-221-944/+904
| | | | | Minimal code changes.
* hush: fix segv at repeated "set -- a b c" + "shift"Denis Vlasenko2009-03-221-3/+10
|
* hush: fix strcpy of potentially overlapping stringsDenis Vlasenko2009-03-211-2/+2
|
* hush: fix bug 207 and "hush -c" parameter passing.Denis Vlasenko2009-03-201-2/+12
| | | | | | | Now hush -c 'printf "%s\n" "$@"' (prints "\n") and hush -c 'printf "%s\n" "$@"' qwe asd (prints "asd\n") both work correctly
* hush: fix set [--] params. Closes bug 199.Denis Vlasenko2009-03-201-9/+61
| | | | | | | | | | function old new delta builtin_set 55 194 +139 add_strings_to_strings - 130 +130 add_string_to_strings 110 26 -84 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/1 up/down: 269/-84) Total: 185 bytes
* libbb: add bb_unsetenv (taken from hush).Denis Vlasenko2008-12-301-11/+3
| | | | | | | | | | | | | | | | | | | udhcpc: stop filtering environment passed to the script. crond: fix uncovered potential bug (failing unsetenv) mdev: fix uncovered potential bug (failing unsetenv) tcp, udpsvd: fix uncovered potential bug (failing unsetenv) function old new delta safe_setenv - 58 +58 bb_unsetenv - 55 +55 builtin_unset 139 138 -1 tcpudpsvd_main 1843 1830 -13 free_strings_and_unsetenv 87 53 -34 udhcp_run_script 1186 1133 -53 safe_setenv4 62 - -62 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 0/4 up/down: 113/-163) Total: -50 bytes
* ash,hush: add TODO for rare build failureDenis Vlasenko2008-11-251-0/+13
| | | | | *: remove some redundant includes
* whitespace fixes, no code changesDenis Vlasenko2008-10-291-1/+1
|
* hush: add TODODenis Vlasenko2008-10-141-0/+2
|
* hush: next small step towards functionsDenis Vlasenko2008-10-141-19/+53
|
* hush: fix NOMMU bug (analogous to preceding commit for MMU)Denis Vlasenko2008-10-131-70/+88
|
* hush: fix trashing of environment by local env vars:Denis Vlasenko2008-10-131-60/+104
| | | | | | | | | | | | | | | | a=a; a=b cmd; - a was unset! +57 bytes function old new delta add_string_to_strings - 110 +110 putenv_all - 27 +27 run_list 2086 2111 +25 free_strings - 7 +7 free_pipe 210 208 -2 add_malloced_string_to_strings 110 - -110 ------------------------------------------------------------------------------ (add/remove: 3/1 grow/shrink: 1/1 up/down: 169/-112) Total: 57 bytes
* hush: fix environment and memory leaks, add tests for themDenis Vlasenko2008-10-091-58/+91
| | | | | | | | | | | | | | | function old new delta add_malloced_string_to_strings - 110 +110 run_list 1999 2086 +87 free_strings_and_unsetenv - 87 +87 hush_version_str - 18 +18 pseudo_exec_argv 139 146 +7 static.version_str 17 - -17 free_pipe 237 210 -27 done_word 790 642 -148 ------------------------------------------------------------------------------ (add/remove: 3/1 grow/shrink: 2/2 up/down: 309/-192) Total: 117 bytes
* hush: preparatory work for implementing functionsDenis Vlasenko2008-10-091-66/+89
|
* hush: massive renaming of ill-named structures and fieldsDenis Vlasenko2008-10-091-202/+206
| | | | | | | hush: error out on constructs like: $ abc(def) - was working as if it was (abcdef) $ case b in abc(a|(b) echo YES; esac - was ignoring 'abc' and extra '('
* - fix compilation on OSF/1Bernhard Reutner-Fischer2008-09-251-2/+2
|
* hush: fix mishandling of a'b'c=fff as assignments. They are not.Denis Vlasenko2008-08-041-58/+70
| | | | | | | | | | | | | | 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-311-4/+13
|
* hush: fix "case ... in <newline> word)..."Denis Vlasenko2008-07-311-1/+11
|
* hush: support "pattern1|pattern2...)" in case statementsDenis Vlasenko2008-07-311-8/+18
| | | | | | parse_stream 1847 1861 +14 run_list 1995 2006 +11
* 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-291-1/+5
| | | | | 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-291-13/+26
| | | | | | | | 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-291-1/+16
| | | | | | *: remove a few inline keywords no code changes
* hush: fix "while false; ..." exitcode; add testsuitesDenis Vlasenko2008-07-281-1/+3
|
* hush: support "break N" and "continue N"Denis Vlasenko2008-07-281-35/+64
| | | | | | | | | | | | | | | 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-281-73/+98
| | | | | | | | | | | | 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
* hush: finish and enable optional case...esac support. Code size cost:Denis Vlasenko2008-07-281-10/+26
| | | | | | | | | | | | | | | | 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