summaryrefslogtreecommitdiff
path: root/shell/hush.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* whitespace fixes. no code changesDenis Vlasenko2008-06-251-2/+2
|
* hush: ifdef out parts which are not neededDenis Vlasenko2008-06-241-46/+59
| | | | | | | | | | | | | | | 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
* hush: kill some old unused fields; small code shrinkDenis Vlasenko2008-06-241-58/+49
| | | | | | | | | | 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
* fix breakage found by randomconfigDenis Vlasenko2008-06-231-6/+7
|
* hush: trivial fix in debug codeDenis Vlasenko2008-06-231-1/+1
|
* fix globbing in unquoted $* and $@Denis Vlasenko2008-06-181-6/+11
|
* hush: fix a bug with backslashes improperly handled in unquoted variables.Denis Vlasenko2008-06-181-51/+115
| | | | | | | | | | | | | | | | | 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
* hush: add testsuite for "no globbing in redirection" rule.Denis Vlasenko2008-06-181-45/+24
| | | | | simplify redirection habdling
* hush: fix last hush-bugs testcase (disappearing "", $empty"" etc)Denis Vlasenko2008-06-181-12/+25
|
* hush: fix $$ handlingDenis Vlasenko2008-06-171-1/+5
|
* hush: fix "for a in; do echo 'I should never run'; done" bugDenis Vlasenko2008-06-171-8/+10
|
* hush: continue fixing quoting and subst: fix glob_and_assign.tests.Denis Vlasenko2008-06-171-32/+41
|
* hush: cleanup pass, the biggest is - moved builtins to the end of the file,Denis Vlasenko2008-06-171-354/+357
| | | | | they really annoy in the middle of parser code. no real code changes.
* hush: fix memory leak. it was actually rather invloved problem.Denis Vlasenko2008-06-171-138/+175
| | | | | | | | | | | | | | | | | | | | | | Now finally glob/variable expansion is done IN THE RIGHT ORDER! It opens up a possibility to cleanly fix remaining known bugs. function old new delta o_save_ptr 115 286 +171 o_save_ptr_helper - 115 +115 done_word 591 690 +99 o_get_last_ptr - 31 +31 expand_on_ifs 125 97 -28 add_string_to_strings 28 - -28 run_list 1895 1862 -33 debug_print_strings 42 - -42 add_strings_to_strings 126 - -126 expand_variables 1550 1394 -156 o_debug_list 168 - -168 expand_strvec_to_strvec 388 10 -378 ------------------------------------------------------------------------------ (add/remove: 2/4 grow/shrink: 2/4 up/down: 416/-959) Total: -543 bytes
* hush: fixing fallout from last big glob fix:Denis Vlasenko2008-06-161-80/+80
| | | | | | | | fix segfault; identify where we leak memory function old new delta expand_strvec_to_strvec 353 336 -17
* hush: fix hush-bugs/glob_and_vars.tests testcase:Denis Vlasenko2008-06-161-46/+63
| | | | | | | | | | | | | | globbing is now done _after_ variable/`cmd` substitution function old new delta expand_strvec_to_strvec 7 353 +346 expand_variables 1348 1383 +35 add_string_to_strings - 28 +28 globhack 114 - -114 done_word 778 579 -199 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 2/1 up/down: 409/-313) Total: 96 bytes
* hush: eliminate PARSEFLAG_SEMICOLON and ctx->parse_type field.Denis Vlasenko2008-06-151-43/+6
| | | | | | | | | | | | function old new delta parse_and_run_file 30 27 -3 hush_main 795 792 -3 initialize_context 45 39 -6 done_word 791 778 -13 parse_and_run_stream 375 338 -37 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/5 up/down: 0/-62) Total: -62 bytes
* hush: fix a bug where we were requiring semicolon here: (cmd;)Denis Vlasenko2008-06-141-20/+33
| | | | | | | | | | | also fix a bug where after error prompt is not shown. function old new delta parse_stream 1612 1638 +26 parse_and_run_stream 361 375 +14 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 40/0) Total: 40 bytes
* hush: add support for ':'; create testsuite entriesDenis Vlasenko2008-06-141-15/+21
| | | | | | | text data bss dec hex filename 809569 612 7044 817225 c7849 busybox_old 809528 612 7044 817184 c7820 busybox_unstripped
* hush: support "! cmd | cmd" negationDenis Vlasenko2008-06-141-88/+115
| | | | | | | | | | | | | function old new delta done_word 749 791 +42 run_list 1821 1859 +38 checkjobs 334 351 +17 done_pipe 61 74 +13 static.reserved_list 132 144 +12 initialize_context 53 45 -8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/1 up/down: 122/-8) Total: 114 bytes
* hush: speed up o_addX{chr,str}Denis Vlasenko2008-06-121-35/+70
| | | | | | | | | | | | | | | | | | | function old new delta o_addQstr - 162 +162 o_addQchr - 89 +89 o_addstr - 58 +58 o_addqchr 50 81 +31 expand_on_ifs 103 97 -6 add_till_backquote 92 82 -10 expand_variables 1281 1217 -64 parse_stream 1675 1609 -66 o_addqstr 155 - -155 ------------------------------------------------------------------------------ (add/remove: 3/1 grow/shrink: 1/4 up/down: 340/-301) Total: 39 bytes text data bss dec hex filename 759870 604 6684 767158 bb4b6 busybox_old 759909 604 6684 767197 bb4dd busybox_unstripped
* hush: fix for nested $()s with escapes + testsuiteDenis Vlasenko2008-06-121-1/+11
|
* hush: more backtick and quoting fixes...Denis Vlasenko2008-06-101-19/+54
|
* hush: fix escaping of \[*?; add testsuites for these and for globbingDenis Vlasenko2008-06-101-2/+1
|
* hush: fix yet another falloutDenis Vlasenko2008-06-101-13/+12
| | | | | hush: move fixed testsuites out of hush-bugs/*
* hush: fix some fallout from prev commits, add testsuiteDenis Vlasenko2008-06-101-12/+21
|
* hush: search/and/replace style cleanups, no code changesDenis Vlasenko2008-06-101-138/+123
|
* hush: fix two nasty bugs:Denis Vlasenko2008-06-101-190/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | hush-bugs/tick2.tests: ok hush-bugs/tick.tests: ok function old new delta parse_stream 1332 1557 +225 b_addptr - 97 +97 add_till_backquote - 82 +82 b_addstr - 58 +58 b_grow_by - 50 +50 setup_string_in_str - 29 +29 expand_variables 1196 1199 +3 expand_on_ifs 100 97 -3 b_addqchr 57 50 -7 parse_and_run_string 48 31 -17 lookup_param 27 - -27 b_addchr 75 45 -30 count_ifs 44 - -44 process_command_subs 222 - -222 ------------------------------------------------------------------------------ (add/remove: 5/3 grow/shrink: 2/4 up/down: 544/-350) Total: 194 bytes text data bss dec hex filename 759354 604 6684 766642 bb2b2 busybox_old 759534 604 6684 766822 bb366 busybox_unstripped
* hush: fix a memory leak in NOMMU caseDenis Vlasenko2008-06-101-12/+46
|
* less: fix a case when regexp matches ""Denis Vlasenko2008-06-091-1/+4
| | | | | hush: remove wrong comment, expand another one
* hush: make it ignore SIGINT etc in a config wich has no job controlDenis Vlasenko2008-05-251-11/+13
|
* - use EXIT_{SUCCESS,FAILURE}. No object-code changesBernhard Reutner-Fischer2008-05-191-1/+1
|
* ash: speed up NOFORK code in ash by eliminating second find_applet().Denis Vlasenko2008-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | some code reduction along the way. function old new delta run_list 1971 1981 +10 run_nofork_applet_prime 181 182 +1 unsetcmd 97 96 -1 delete_cmd_entry 54 53 -1 describe_command 399 397 -2 cmdlookup 152 150 -2 evaltreenr 602 599 -3 evaltree 602 599 -3 clearcmdentry 101 98 -3 cdcmd 675 672 -3 hashcmd 305 301 -4 find_command 933 910 -23 evalcommand 1371 1229 -142 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/11 up/down: 11/-187) Total: -176 bytes
* lpd: fix OOM vulnerability (was eating arbitrarily large commands)Denis Vlasenko2008-03-241-1/+1
|
* patch: shrink by Pascal Bellard <pascal.bellard AT ads-lu.com> (-80 bytes)Denis Vlasenko2008-03-231-1/+0
| | | | | *: removal of #include <getopt.h>
* *: use fopen_or_warn in few more placesDenis Vlasenko2008-03-201-1/+2
|
* *: add -Wunused-parameter; fix resulting breakageDenis Vlasenko2008-03-171-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta procps_scan 1265 1298 +33 aliascmd 278 283 +5 parse_file_cmd 116 120 +4 dname_enc 373 377 +4 setcmd 90 93 +3 execcmd 57 60 +3 count_lines 72 74 +2 process_command_subs 340 339 -1 test_main 409 407 -2 mknod_main 179 177 -2 handle_incoming_and_exit 2653 2651 -2 argstr 1312 1310 -2 shiftcmd 131 128 -3 exitcmd 46 43 -3 dotcmd 297 294 -3 breakcmd 86 83 -3 evalpipe 353 349 -4 evalcommand 1180 1176 -4 evalcmd 109 105 -4 send_tree 374 369 -5 mkfifo_main 82 77 -5 evalsubshell 152 147 -5 typecmd 75 69 -6 letcmd 61 55 -6 add_cmd 1190 1183 -7 main 891 883 -8 ash_main 1415 1407 -8 parse_stream 1377 1367 -10 alloc_procps_scan 55 - -55 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes text data bss dec hex filename 797195 658 7428 805281 c49a1 busybox_old 797101 658 7428 805187 c4943 busybox_unstripped
* libbb: introduce and use sigprocmask_allsigs and sigaction_set.Denis Vlasenko2008-03-171-4/+1
| | | | | libbb: rename sig_pause to wait_for_any_sig.
* libbb: introduse and use signal_[no_]SA_RESTART_empty_mask and sigaction_setDenis Vlasenko2008-03-121-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | signal_SA_RESTART_empty_mask - 65 +65 signal_no_SA_RESTART_empty_mask - 54 +54 dd_main 1325 1369 +44 sigaction_set - 19 +19 dname_enc 373 377 +4 UNSPEC_print 64 66 +2 setsignal 296 294 -2 bb_signals_recursive 95 92 -3 bb_askpass 367 361 -6 inetd_main 1810 1797 -13 rx_main 912 883 -29 sigdelset 32 - -32 __sigdelset 32 - -32 __GI_sigdelset 32 - -32 sighup_handler 84 37 -47 arping_main 1844 1797 -47 fsck_main 1869 1807 -62 run_list 1917 1844 -73 vlock_main 492 409 -83 progressmeter 883 798 -85 handle_incoming_and_exit 2737 2651 -86 ------------------------------------------------------------------------------ (add/remove: 3/3 grow/shrink: 3/12 up/down: 188/-632) Total: -444 bytes
* *: add optimization barrier to all "G trick" locationsDenis Vlasenko2008-02-271-1/+4
|
* less,klogd,syslogd,nc,tcpudp: exit on signal by killing itself, not exit(1)Denis Vlasenko2008-02-241-6/+1
| | | | | *: minor shrink
* libbb: introduce and use nonblock_safe_read(). Yay!Denis Vlasenko2008-02-201-4/+4
| | | | | | | | | | | | | | | | | 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
* libbb: introduce bb_signals and bb_signals_recursive,Denis Vlasenko2008-02-161-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | which sets same handler for many signals. sig_catch is nuked (bb_signals_recursive is more descriptive name). *: use them as appropriate. function old new delta bb_signals_recursive - 95 +95 bb_signals - 52 +52 run_command 258 273 +15 svlogd_main 1368 1377 +9 runsv_main 1746 1752 +6 runsvdir_main 1643 1646 +3 UNSPEC_print 64 66 +2 time_main 1128 1127 -1 ... resize_main 246 210 -36 sig_catch 63 - -63 set_fatal_sighandler 85 14 -71 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 5/24 up/down: 182/-548) Total: -366 bytes
* random s/short/int/Denis Vlasenko2008-02-161-1/+1
| | | | | | | | | add_cmd 1189 1190 +1 xconnect_ftpdata 118 117 -1 data_align 86 84 -2 process_files 2101 2096 -5 forkexec 1345 1334 -11
* hush: die_sllep needs restoring only if job control is onDenis Vlasenko2008-02-111-3/+6
|
* hush: close-on-exec interactive_fdDenis Vlasenko2008-02-111-1/+3
|
* hush: set CLOEXEC on script file being executedDenis Vlasenko2008-02-111-0/+1
|
* hush: fix the commentDenis Vlasenko2008-02-111-1/+1
|
* hush: reset die_sleep to 0 in child after forkDenis Vlasenko2008-02-111-6/+10
|
* hush: reinstate `cmd` handling for NOMMU (with fat big warning).Denis Vlasenko2008-02-101-91/+101
| | | | | | | | | | hush: fix a case where none of pipe members could be started because of fork failure hush: rename functions: xxx_real -> xxx hush: try to add a bit more of vfork-friendliness hush: add rudimentary design docs hush: add TODO (newly discovered bug with globbing)