aboutsummaryrefslogtreecommitdiff
path: root/shell/hush.c
AgeCommit message (Collapse)Author
2007-10-01hush: fix glob() abuse. Code was making unfounded assumptions howDenis Vlasenko
glob() works, and it broke horribly on specific uclibc config.
2007-10-01hush: int->smallint for flag vars; make some names more "greppable"Denis Vlasenko
2007-10-01hush: feeble attempt at making it more NOMMU-friendlyDenis Vlasenko
2007-10-01hush: stop doing manual acounting of open fd's, kernel can do it for usDenis Vlasenko
2007-09-30introduce and use close_on_exec_on(fd). -50 bytes.Denis Vlasenko
2007-09-27introduce bb_putchar(). saves ~1800 on uclibc (less on glibc).Denis Vlasenko
2007-08-12trylink: produce even more info about final link stageDenis Vlasenko
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
2007-06-25Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms ↵Denis Vlasenko
<wharms@bfs.de>)
2007-06-13*: BB_BANNER -> bb_banner (it is not a const or #define)!Denis Vlasenko
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
2007-06-13hush: fix read builtin to not read ahead past eol and to not useDenis Vlasenko
insane amounts of stack. Testsuite updated.
2007-06-08make busybox --install work even if /proc/self/exe doesn't existDenis Vlasenko
# 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
2007-05-30hush: trivial buglet found by randomconfig testingDenis Vlasenko
2007-05-30whitespace fixesDenis Vlasenko
2007-05-26usage.c: remove reference to busybox.hDenis Vlasenko
*: s/include "busybox.h"/include "libbb.h"
2007-05-26xpipe: introduce (saves ~170 bytes)Denis Vlasenko
udhcp/signalpipe.c: use pipe instead of socketpair.
2007-05-25hush: fix 'echo abc`sleep 5`def' + Ctrl-Z and Ctrl-C bugs. +50 bytes of code.Denis Vlasenko
2007-05-25hush: avoid duplicating HUSH_VERSIONDenis Vlasenko
2007-05-25hush: micro-optimization in new variable codeDenis Vlasenko
2007-05-25hush: we can't do without variable->value member, saving 25 bytes of codeDenis Vlasenko
and some runtime memory. Rename few variables.
2007-05-25hush: rework variable storage and environment handling.Denis Vlasenko
More that -100 bytes of code + memory leak plugged. Added a testcase for it.
2007-05-24hush: fix segfaulting syntax error in interactive hushDenis Vlasenko
2007-05-24hush: fix handling of unmatched ${name (without closing '}') -Denis Vlasenko
was eating all remaining input, potentially megabytes. nofork: save/restore die_jmp too nofork: use -2222 instead of -111 as "special" return valur for zero (-111 is used by some applets. -2222 won't fit in exitcode and thus safer)
2007-05-23hush: make syntax error messages a bit more usefulDenis Vlasenko
2007-05-23hush: fix job control with eval /bin/external_progDenis Vlasenko
hush: fix parsing of unterminated "str with no EOL hush: improved make_string() (smaller, faster, needs less RAM) hush: renamed several functions
2007-05-23hush: fix a bit different instance of "No EOL" bug,Denis Vlasenko
add testsuite for that. Expand another testsuite.
2007-05-21hush: add 3 CONFIG_xxx, allowing for smaller and less capable hush.Denis Vlasenko
Minimal hush is ~9k now (lash is ~7k).
2007-05-21hush: using smallints where we can. save ~20 bytes in code andDenis Vlasenko
some data storage at runtime.
2007-05-20hush: fix shift + $0 bug; add testcaseDenis Vlasenko
2007-05-20hush: trivial size optimizationDenis Vlasenko
2007-05-20hush: make process substitution configurable; add a testcaseDenis Vlasenko
2007-05-17hush: do "struct globals" trick. hush.o data+bss = 0 bytes now.Denis Vlasenko
+60 bytes to image, but -8000 bytes in bss.
2007-05-17hush: consolidated variable expansion for assignments and "normal" one.Denis Vlasenko
-435 bytes. Tested against testsuite.
2007-05-17more compile fixes from randomconfig runDenis Vlasenko
2007-05-16hush: take care of several easy FIXMEs. -228 bytes.Denis Vlasenko
2007-05-16hush: another microscopic typo fixDenis Vlasenko
2007-05-16hush: fix English in commentDenis Vlasenko
2007-05-16hush: simplify read builtin; fix set_local_var (misplaced 'goto skip;')Denis Vlasenko
2007-05-16hush: fix expansion of quoted $VAR, $* and $@Denis Vlasenko
2007-05-16hush: fix incorrect processing of echo "'$var'".Denis Vlasenko
hush: rename map[] and MAP_xxx, making them easier to understand. hush: move testcase (which now passes) from hush-bugs to hush-parsing
2007-05-14hush: more fixes to variable expansion, more testcasesDenis Vlasenko
2007-05-14hush: move towards more correct variable expansionDenis Vlasenko
hush: fix a few cases in FOR v IN ... construct unfortunately, code growth is big - ~600 bytes
2007-05-13hush: fix '{ false; echo $?; }' bug.Denis Vlasenko
hush: expand testsuite. variable expansion is still very broken
2007-05-11hush: fix bug in interactive shell introduced yesterdayDenis Vlasenko
hush: fix `process subst` (2 bugs) NB: will delete and re-add hush_test in order to change file modes
2007-05-10hush: fix "unterminated last line loops forever" bugDenis Vlasenko
hush: add testsuite infrastructure
2007-05-10hush: fix recent breakage (VAR=VAL stopped working)Denis Vlasenko
2007-05-06hush: fix double-free in "echo TEST &"Denis Vlasenko
2007-05-05hush: stop generating extra empty pipes in parse stage.Denis Vlasenko
2007-05-05hush: preparatory patch for removing extra empty pipes generationDenis Vlasenko
in parse stage. No real code change here.
2007-05-04hush: fix "while true; do true; done" + ctrl-zDenis Vlasenko
2007-05-04hush: add parse tree debug printDenis Vlasenko