summaryrefslogtreecommitdiff
path: root/shell/hush.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Apply post-1.10.2 fixes, bump version to 1.10.31_10_3Denis Vlasenko2008-06-051-11/+13
|
* *: 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)
* *: tidy up usage of char **environDenis Vlasenko2008-01-281-2/+0
|
* hush: report [v]fork failuresDenis Vlasenko2008-01-081-32/+30
| | | | | | hush: more correct handling of piping config: add CONFIG_NOMMU
* libbb: introduce and use safe_waitpid (loops in EINTR)Denis Vlasenko2008-01-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | *: 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
* hush: fixlet for NOMMUDenis Vlasenko2007-12-241-3/+3
| | | | | update TODO_config_nommu
* reorganize applet table. Eliminates pointers to names.Denis Vlasenko2007-11-281-8/+8
| | | | | | | | | 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
* remove echo_main -> bb_echo indirectionDenis Vlasenko2007-11-241-1/+1
|
* hush: fix segfault in "echo $@" when we have no argumentsDenis Vlasenko2007-11-241-4/+6
|
* kill lash. "lash" builtin still exists, but it runs hush.Denis Vlasenko2007-11-231-0/+10
|
* hush: implement echo builtinDenis Vlasenko2007-11-231-0/+15
| | | | | | | | builtin_echo - 36 +36 bltins 384 396 +12 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/0 up/down: 48/0) Total: 48 bytes
* hush: fix $ expansion in redirections, add testcase for thatDenis Vlasenko2007-11-231-4/+7
|
* hush: implement test builtinDenis Vlasenko2007-11-231-21/+38
|
* hush: plug memory leakDenis Vlasenko2007-11-231-5/+38
|
* add -fvisibility=hidden to CC flags, mark XXX_main functionsDenis Vlasenko2007-10-111-1/+1
| | | | | EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
* get rid of global "struct bb_applet *current_applet"Denis Vlasenko2007-10-101-3/+2
|
* hush: fix glob() abuse. Code was making unfounded assumptions howDenis Vlasenko2007-10-011-69/+120
| | | | | glob() works, and it broke horribly on specific uclibc config.
* hush: int->smallint for flag vars; make some names more "greppable"Denis Vlasenko2007-10-011-28/+32
|
* hush: feeble attempt at making it more NOMMU-friendlyDenis Vlasenko2007-10-011-16/+22
|
* hush: stop doing manual acounting of open fd's, kernel can do it for usDenis Vlasenko2007-10-011-45/+3
|
* introduce and use close_on_exec_on(fd). -50 bytes.Denis Vlasenko2007-09-301-3/+5
|
* introduce bb_putchar(). saves ~1800 on uclibc (less on glibc).Denis Vlasenko2007-09-271-1/+1
|
* trylink: produce even more info about final link stageDenis Vlasenko2007-08-121-2/+3
| | | | | | | | | 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
* Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms ↵Denis Vlasenko2007-06-251-2/+2
| | | | <wharms@bfs.de>)
* *: BB_BANNER -> bb_banner (it is not a const or #define)!Denis Vlasenko2007-06-131-1/+1
| | | | | | | | | | | | 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
* hush: fix read builtin to not read ahead past eol and to not useDenis Vlasenko2007-06-131-13/+3
| | | | | insane amounts of stack. Testsuite updated.
* make busybox --install work even if /proc/self/exe doesn't existDenis Vlasenko2007-06-081-1/+1
| | | | | | | | # 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
* hush: trivial buglet found by randomconfig testingDenis Vlasenko2007-05-301-0/+2
|
* whitespace fixesDenis Vlasenko2007-05-301-4/+4
|
* usage.c: remove reference to busybox.hDenis Vlasenko2007-05-261-1/+4
| | | | | *: s/include "busybox.h"/include "libbb.h"
* xpipe: introduce (saves ~170 bytes)Denis Vlasenko2007-05-261-4/+2
| | | | | udhcp/signalpipe.c: use pipe instead of socketpair.
* hush: fix 'echo abc`sleep 5`def' + Ctrl-Z and Ctrl-C bugs. +50 bytes of code.Denis Vlasenko2007-05-251-6/+18
|
* hush: avoid duplicating HUSH_VERSIONDenis Vlasenko2007-05-251-15/+16
|
* hush: micro-optimization in new variable codeDenis Vlasenko2007-05-251-5/+5
|
* hush: we can't do without variable->value member, saving 25 bytes of codeDenis Vlasenko2007-05-251-42/+38
| | | | and some runtime memory. Rename few variables.
* hush: rework variable storage and environment handling.Denis Vlasenko2007-05-251-167/+163
| | | | | | More that -100 bytes of code + memory leak plugged. Added a testcase for it.