oweals/busybox.git
15 years agohttpd: simplify insane conf file parser
Denis Vlasenko [Wed, 22 Apr 2009 13:49:16 +0000 (13:49 -0000)]
httpd: simplify insane conf file parser

function                                             old     new   delta
bb_simplify_abs_path_inplace                           -      98     +98
parse_expr                                           824     832      +8
passwd_main                                         1025    1027      +2
evalvar                                             1374    1376      +2
parse_command                                       1463    1460      -3
bb_simplify_path                                     137      55     -82
parse_conf                                          1572    1422    -150
------------------------------------------------------------------------------
(add/remove: 3/2 grow/shrink: 3/3 up/down: 126/-251)         Total: -125 bytes

15 years agosyslogd: added comment, no code changes
Denis Vlasenko [Wed, 22 Apr 2009 02:53:02 +0000 (02:53 -0000)]
syslogd: added comment, no code changes

15 years agohttpd: improve help text
Denis Vlasenko [Wed, 22 Apr 2009 00:26:39 +0000 (00:26 -0000)]
httpd: improve help text

15 years agonc: free lsa in server mode, we might be up for a long time
Denis Vlasenko [Tue, 21 Apr 2009 23:51:43 +0000 (23:51 -0000)]
nc: free lsa in server mode, we might be up for a long time

15 years ago*: remove check for errors on getsockaddr in cases we know they can't happen
Denis Vlasenko [Tue, 21 Apr 2009 23:48:38 +0000 (23:48 -0000)]
*: remove check for errors on getsockaddr in cases we know they can't happen
libbb: make get_sock_lsa use only one getsockaddr syscall, not two

function                                             old     new   delta
get_sock_lsa                                          72     101     +29
do_iplink                                           1151    1137     -14
arping_main                                         1585    1569     -16
dolisten                                             789     755     -34
xrtnl_open                                           161      94     -67

15 years agoswitch_root: move misplaced comment
Denis Vlasenko [Tue, 21 Apr 2009 20:52:58 +0000 (20:52 -0000)]
switch_root: move misplaced comment

15 years agoswitch_root: improve behavior on error; improve help text
Denis Vlasenko [Tue, 21 Apr 2009 20:40:51 +0000 (20:40 -0000)]
switch_root: improve behavior on error; improve help text
*: make "can't execute '%s'" message uniform

15 years agohush: speed up set_local_var
Denis Vlasenko [Tue, 21 Apr 2009 11:23:56 +0000 (11:23 -0000)]
hush: speed up set_local_var

function                                             old     new   delta
set_local_var                                        265     290     +25

15 years ago*: mass renaming of USE_XXXX to IF_XXXX
Denis Vlasenko [Tue, 21 Apr 2009 11:09:40 +0000 (11:09 -0000)]
*: mass renaming of USE_XXXX to IF_XXXX
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially
badly named. It was not skipping anything!

15 years agotar: support for tar --numeric-owner. By Natanael Copa.
Denis Vlasenko [Tue, 21 Apr 2009 00:52:21 +0000 (00:52 -0000)]
tar: support for tar --numeric-owner. By Natanael Copa.

function                                             old     new   delta
tar_longopts                                         221     237     +16
data_extract_all                                     692     705     +13
tar_main                                             690     702     +12

15 years agoudhcpc: fix truncation of last char in client hostnames
Denis Vlasenko [Tue, 21 Apr 2009 00:41:57 +0000 (00:41 -0000)]
udhcpc: fix truncation of last char in client hostnames

15 years agoswitch_root: print errno on failure
Denis Vlasenko [Tue, 21 Apr 2009 00:29:17 +0000 (00:29 -0000)]
switch_root: print errno on failure

15 years agotweak example udhcp script
Denis Vlasenko [Tue, 21 Apr 2009 00:17:00 +0000 (00:17 -0000)]
tweak example udhcp script

15 years agohush: export -n support
Denis Vlasenko [Mon, 20 Apr 2009 22:04:21 +0000 (22:04 -0000)]
hush: export -n support

function                                             old     new   delta
builtin_export                                       206     256     +50
set_local_var                                        248     265     +17
expand_variables                                    2204    2203      -1

15 years agohush: add two testcases
Denis Vlasenko [Mon, 20 Apr 2009 10:52:31 +0000 (10:52 -0000)]
hush: add two testcases

15 years agowatchdog: enable it before setting timeout
Denis Vlasenko [Mon, 20 Apr 2009 09:26:17 +0000 (09:26 -0000)]
watchdog: enable it before setting timeout

function                                             old     new   delta
watchdog_main                                        239     259     +20
static.enable                                          -       4      +4

15 years agohush: fix stdin of backgrounded pipe
Denis Vlasenko [Mon, 20 Apr 2009 00:34:01 +0000 (00:34 -0000)]
hush: fix stdin of backgrounded pipe

function                                             old     new   delta
run_list                                            2450    2502     +52

15 years agomdev: enlarge inline documentation
Denis Vlasenko [Sun, 19 Apr 2009 23:38:08 +0000 (23:38 -0000)]
mdev: enlarge inline documentation

15 years agohush: fix "export not_yet_defined_var", fix parsing of "cmd | }"
Denis Vlasenko [Sun, 19 Apr 2009 23:07:51 +0000 (23:07 -0000)]
hush: fix "export not_yet_defined_var", fix parsing of "cmd | }"
 corner case; improve hush_leaktool.sh;
 fix some false positives in testsuite

function                                             old     new   delta
builtin_export                                       191     206     +15
parse_stream                                        2196    2200      +4

15 years agomdev: support $ENVVAR=regex
Denis Vlasenko [Sun, 19 Apr 2009 21:37:07 +0000 (21:37 -0000)]
mdev: support $ENVVAR=regex

15 years agoanother stab at fixing out-of-tree build
Denis Vlasenko [Sun, 19 Apr 2009 14:12:50 +0000 (14:12 -0000)]
another stab at fixing out-of-tree build

15 years agosame as previous, but -100 bytes
Denis Vlasenko [Sun, 19 Apr 2009 14:03:11 +0000 (14:03 -0000)]
same as previous, but -100 bytes

15 years agohush: fix handling of } which is not a closing one in { cmd; }
Denis Vlasenko [Sun, 19 Apr 2009 13:57:51 +0000 (13:57 -0000)]
hush: fix handling of } which is not a closing one in { cmd; }

function                                             old     new   delta
parse_stream                                        2176    2302    +126
builtin_unset                                        381     387      +6

15 years agohopefully fix out-of-tree build broken by 26139
Denis Vlasenko [Sun, 19 Apr 2009 12:15:51 +0000 (12:15 -0000)]
hopefully fix out-of-tree build broken by 26139

15 years agomdev: Rob's #if forest removal
Denis Vlasenko [Sun, 19 Apr 2009 01:27:20 +0000 (01:27 -0000)]
mdev: Rob's #if forest removal
*: remove superfluous conts in "f(type *const param)"

15 years agofix build errors when function support is turned off
Mike Frysinger [Sat, 18 Apr 2009 21:04:25 +0000 (21:04 -0000)]
fix build errors when function support is turned off

15 years agohush: fix thinko in error msg
Denis Vlasenko [Sat, 18 Apr 2009 13:05:10 +0000 (13:05 -0000)]
hush: fix thinko in error msg

15 years agohush: fix "trap -- handler SIGs..."; escape handlers in "trap" output
Denis Vlasenko [Sat, 18 Apr 2009 12:58:19 +0000 (12:58 -0000)]
hush: fix "trap -- handler SIGs..."; escape handlers in "trap" output

15 years agoacpid: prevent creation of zombies
Denis Vlasenko [Sat, 18 Apr 2009 11:35:16 +0000 (11:35 -0000)]
acpid: prevent creation of zombies

15 years agohush: fix thinko in unset_func
Denis Vlasenko [Sat, 18 Apr 2009 11:25:18 +0000 (11:25 -0000)]
hush: fix thinko in unset_func

15 years agohush: implement unset -f; beautify the handling of signal-killed pipe
Denis Vlasenko [Sat, 18 Apr 2009 11:23:38 +0000 (11:23 -0000)]
hush: implement unset -f; beautify the handling of signal-killed pipe
 four TODOs are gone

function                                             old     new   delta
builtin_unset                                        271     364     +93
checkjobs                                            394     428     +34
builtin_exit                                          49      47      -2

15 years agohush: deal with umask TODO (symbolic modes)
Denis Vlasenko [Sat, 18 Apr 2009 02:06:54 +0000 (02:06 -0000)]
hush: deal with umask TODO (symbolic modes)

function                                             old     new   delta
builtin_umask                                         79     125     +46

15 years agohush: implement proper SIGHUP handling
Denis Vlasenko [Sat, 18 Apr 2009 01:23:21 +0000 (01:23 -0000)]
hush: implement proper SIGHUP handling

function                                             old     new   delta
check_and_run_traps                                  164     229     +65
insert_bg_job                                        376     366     -10
hush_main                                            937     927     -10

15 years agobuiltin_return's parameter is not unused
Denis Vlasenko [Fri, 17 Apr 2009 23:53:15 +0000 (23:53 -0000)]
builtin_return's parameter is not unused

15 years agohush: return builtin by Bayram Kurumahmut (kbayram AT ubicom.com)
Denis Vlasenko [Fri, 17 Apr 2009 23:44:18 +0000 (23:44 -0000)]
hush: return builtin by Bayram Kurumahmut (kbayram AT ubicom.com)
 ~+200 bytes

15 years agofix move_to_unaligned32
Denis Vlasenko [Fri, 17 Apr 2009 22:20:44 +0000 (22:20 -0000)]
fix move_to_unaligned32

15 years agobuild system: remove some unnecessary rebuilds
Denis Vlasenko [Fri, 17 Apr 2009 21:56:02 +0000 (21:56 -0000)]
build system: remove some unnecessary rebuilds

15 years agohush: set $n properly for "source" builtin
Denis Vlasenko [Fri, 17 Apr 2009 18:54:50 +0000 (18:54 -0000)]
hush: set $n properly for "source" builtin

function                                             old     new   delta
restore_G_args                                         -      78     +78
save_and_replace_G_args                                -      64     +64
builtin_source                                        72     107     +35
run_list                                            2549    2367    -182
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/1 up/down: 177/-182)           Total: -5 bytes

15 years agohush: fix non-interactive response to pipe being stopped.
Denis Vlasenko [Fri, 17 Apr 2009 14:35:43 +0000 (14:35 -0000)]
hush: fix non-interactive response to pipe being stopped.

function                                             old     new   delta
checkjobs                                            380     394     +14

15 years agohush: unblock TERM, INT, HUP in child shells too.
Denis Vlasenko [Fri, 17 Apr 2009 13:52:51 +0000 (13:52 -0000)]
hush: unblock TERM, INT, HUP in child shells too.

15 years agohush: disallow "{echo hi; }" (require whitespace)
Denis Vlasenko [Fri, 17 Apr 2009 11:55:42 +0000 (11:55 -0000)]
hush: disallow "{echo hi; }" (require whitespace)
 and "{ echo hi }" (require semicolon or &)

function                                             old     new   delta
parse_stream                                        2098    2176     +78
done_command                                          98      84     -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 78/-14)             Total: 64 bytes

15 years agomdev: add large comment, fix a buglet with subsystem and /sys/block
Denis Vlasenko [Fri, 17 Apr 2009 00:01:04 +0000 (00:01 -0000)]
mdev: add large comment, fix a buglet with subsystem and /sys/block

15 years agodisable FLASH_ERASEALL in defconfig
Denis Vlasenko [Thu, 16 Apr 2009 23:05:59 +0000 (23:05 -0000)]
disable FLASH_ERASEALL in defconfig

15 years agomdev: set mode, needed when device node already exists.
Denis Vlasenko [Thu, 16 Apr 2009 22:42:01 +0000 (22:42 -0000)]
mdev: set mode, needed when device node already exists.

15 years agomdev: change subsystem syntax from /subsystem to subsystem/devname
Denis Vlasenko [Thu, 16 Apr 2009 21:42:12 +0000 (21:42 -0000)]
mdev: change subsystem syntax from /subsystem to subsystem/devname

15 years agoupdate example udhcpc script
Denis Vlasenko [Thu, 16 Apr 2009 20:04:09 +0000 (20:04 -0000)]
update example udhcpc script

15 years agohush: add a TODO
Denis Vlasenko [Thu, 16 Apr 2009 12:00:15 +0000 (12:00 -0000)]
hush: add a TODO

15 years agohush: fix "if { echo foo; } then { echo bar; } fi" parsing
Denis Vlasenko [Thu, 16 Apr 2009 10:59:40 +0000 (10:59 -0000)]
hush: fix "if { echo foo; } then { echo bar; } fi" parsing

function                                             old     new   delta
done_word                                            728     793     +65
parse_stream                                        2084    2098     +14

15 years agohush: stop ignoring ^Z in child shells
Denis Vlasenko [Wed, 15 Apr 2009 23:29:44 +0000 (23:29 -0000)]
hush: stop ignoring ^Z in child shells

15 years agohush: remove old disabled ^Z handling
Denis Vlasenko [Wed, 15 Apr 2009 23:29:00 +0000 (23:29 -0000)]
hush: remove old disabled ^Z handling

15 years agohush: fix heredoc_huge.tests broken in last commits
Denis Vlasenko [Wed, 15 Apr 2009 21:58:14 +0000 (21:58 -0000)]
hush: fix heredoc_huge.tests broken in last commits

15 years agohush: remove TODO comment itself :)
Denis Vlasenko [Wed, 15 Apr 2009 21:49:48 +0000 (21:49 -0000)]
hush: remove TODO comment itself :)

15 years agohush: deal with a TODO: move argv_from_re_execing out of globals
Denis Vlasenko [Wed, 15 Apr 2009 21:48:23 +0000 (21:48 -0000)]
hush: deal with a TODO: move argv_from_re_execing out of globals

function                                             old     new   delta
generate_stream_from_string                          156     165      +9
setup_heredoc                                        312     320      +8
re_execute_shell                                     387     391      +4
pseudo_exec_argv                                     129     133      +4
run_pipe                                            1790    1783      -7
clean_up_after_re_execute                             30       -     -30
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/1 up/down: 25/-37)            Total: -12 bytes

15 years agoStart 1.15.x development
Denis Vlasenko [Wed, 15 Apr 2009 13:04:52 +0000 (13:04 -0000)]
Start 1.15.x development

15 years agowebsite: another tweak
Denis Vlasenko [Wed, 15 Apr 2009 11:55:27 +0000 (11:55 -0000)]
website: another tweak

15 years agowebsite: yet another small tweak
Denis Vlasenko [Wed, 15 Apr 2009 11:51:18 +0000 (11:51 -0000)]
website: yet another small tweak

15 years agowebsite: another tiny tweak
Denis Vlasenko [Wed, 15 Apr 2009 11:48:25 +0000 (11:48 -0000)]
website: another tiny tweak

15 years agowebsite: textual fixes in 1.14.0 announcement text
Denis Vlasenko [Wed, 15 Apr 2009 11:11:19 +0000 (11:11 -0000)]
website: textual fixes in 1.14.0 announcement text

15 years agowebsite: announce 1.14.0 and 1.13.4 1_14_0
Denis Vlasenko [Wed, 15 Apr 2009 02:13:14 +0000 (02:13 -0000)]
website: announce 1.14.0 and 1.13.4
Makefile: bump version to 1.14.0

15 years agomdev: safer handling of $SUBSYSTEM in mdev -s
Denis Vlasenko [Tue, 14 Apr 2009 21:23:33 +0000 (21:23 -0000)]
mdev: safer handling of $SUBSYSTEM in mdev -s

15 years agopointless whitespace/comment fixes, no code changes
Denis Vlasenko [Tue, 14 Apr 2009 09:58:11 +0000 (09:58 -0000)]
pointless whitespace/comment fixes, no code changes

15 years agorandomconfig fixes
Denis Vlasenko [Tue, 14 Apr 2009 08:06:59 +0000 (08:06 -0000)]
randomconfig fixes

15 years agowebsite: update ActionTec URL to http://opensource.actiontec.com/
Denis Vlasenko [Tue, 14 Apr 2009 01:31:41 +0000 (01:31 -0000)]
website: update ActionTec URL to opensource.actiontec.com/

15 years agowebsite: fix obsolete
Denis Vlasenko [Tue, 14 Apr 2009 00:59:37 +0000 (00:59 -0000)]
website: fix obsolete
 "svn co svn://busybox.net/branches/busybox_1_12_stable"
 example

15 years ago*: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}
Denis Vlasenko [Tue, 14 Apr 2009 00:51:05 +0000 (00:51 -0000)]
*: unify concurrent-safe update of /etc/{passwd,group,[g]shadow}
 by Tito (farmatito AT tiscali.it)

function                                             old     new   delta
update_passwd                                        743    1171    +428
bb_perror_nomsg                                        -       9      +9
find_main                                            436     444      +8
passwd_main                                         1023    1027      +4
nameval                                              202     206      +4
chpasswd_main                                        315     319      +4
bb__parsespent                                       119     117      -2
adduser_main                                         654     650      -4
addgroup_main                                        345     341      -4
sv_main                                             1228    1222      -6
deluser_main                                         173     160     -13
bb_internal_putpwent                                  69       -     -69
add_user_to_group                                    231       -    -231
del_line_matching                                    460      31    -429
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 5/6 up/down: 457/-758)         Total: -301 bytes

15 years agomdev: add support for - "dont stop here" char
Denis Vlasenko [Mon, 13 Apr 2009 23:18:52 +0000 (23:18 -0000)]
mdev: add support for - "dont stop here" char

function                                             old     new   delta
make_device                                         1340    1362     +22
packed_usage                                       26291   26299      +8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 30/0)               Total: 30 bytes

15 years agomdev: provide $SUBSYSTEM (by Vladimir)
Denis Vlasenko [Mon, 13 Apr 2009 22:23:02 +0000 (22:23 -0000)]
mdev: provide $SUBSYSTEM (by Vladimir)

function                                             old     new   delta
make_device                                         1265    1340     +75
dirAction                                             14      60     +46
mdev_main                                            676     695     +19
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 140/0)             Total: 140 bytes

15 years agomove llist_find_str from modutils to libbb
Denis Vlasenko [Mon, 13 Apr 2009 20:52:00 +0000 (20:52 -0000)]
move llist_find_str from modutils to libbb

15 years agomodutils: remove redundant sanitization
Denis Vlasenko [Mon, 13 Apr 2009 20:32:31 +0000 (20:32 -0000)]
modutils: remove redundant sanitization

15 years agohush: make function support configurable
Denis Vlasenko [Mon, 13 Apr 2009 14:23:12 +0000 (14:23 -0000)]
hush: make function support configurable

15 years agomdev: fix a bug where \t is not treated as delimiter after [>|=PATH]
Denis Vlasenko [Mon, 13 Apr 2009 13:59:26 +0000 (13:59 -0000)]
mdev: fix a bug where \t is not treated as delimiter after [>|=PATH]

15 years agomdev: make usage text more useful
Denis Vlasenko [Mon, 13 Apr 2009 13:33:02 +0000 (13:33 -0000)]
mdev: make usage text more useful

function                                             old     new   delta
packed_usage                                       26235   26291     +56

15 years agodhcprelay: fix usage text. Simplify and make code more readable.
Denis Vlasenko [Mon, 13 Apr 2009 03:33:46 +0000 (03:33 -0000)]
dhcprelay: fix usage text. Simplify and make code more readable.
 Add TODOs.

15 years agormmod: fix bug 263
Denis Vlasenko [Mon, 13 Apr 2009 02:25:40 +0000 (02:25 -0000)]
rmmod: fix bug 263
"modutils/rmmod can't remove modules with dash in name on 2.4 kernels"

function                                             old     new   delta
rmmod_main                                           187     220     +33

15 years agomdev: ignore events with "$SUBSYSTEM" == "firmware" && "$ACTION" == "remove"
Denis Vlasenko [Mon, 13 Apr 2009 02:15:57 +0000 (02:15 -0000)]
mdev: ignore events with "$SUBSYSTEM" == "firmware" && "$ACTION" == "remove"

function                                             old     new   delta
mdev_main                                            665     676     +11

15 years agowebsite: add http://www.dream-multimedia-tv.de/ to list of products
Denis Vlasenko [Mon, 13 Apr 2009 00:55:42 +0000 (00:55 -0000)]
website: add dream-multimedia-tv.de/ to list of products
using bbox

15 years agohush: pass functions to child shells on NOMMU
Denis Vlasenko [Sun, 12 Apr 2009 20:35:19 +0000 (20:35 -0000)]
hush: pass functions to child shells on NOMMU

function                                             old     new   delta
new_function                                           -     123    +123
hush_main                                           1198    1262     +64
re_execute_shell                                     341     387     +46
run_pipe                                            1872    1790     -82
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/1 up/down: 233/-82)           Total: 151 bytes

15 years agodnsd: stop using oversized buffer. trim comment.
Denis Vlasenko [Sun, 12 Apr 2009 19:03:01 +0000 (19:03 -0000)]
dnsd: stop using oversized buffer. trim comment.

15 years agohalt/reboot/powerdown: accept and ignore -i
Denis Vlasenko [Sun, 12 Apr 2009 15:59:35 +0000 (15:59 -0000)]
halt/reboot/powerdown: accept and ignore -i

15 years agomodutils: small optimization
Denis Vlasenko [Sun, 12 Apr 2009 14:21:29 +0000 (14:21 -0000)]
modutils: small optimization

function                                             old     new   delta
bb_init_module_24                                   4570    4565      -5

15 years agomdev: do not complain if /sys/block doesn't exist
Denis Vlasenko [Sun, 12 Apr 2009 14:00:12 +0000 (14:00 -0000)]
mdev: do not complain if /sys/block doesn't exist

15 years agoawk: fix long field separators case. By Ian Wienand (ianw AT vmware.com)
Denis Vlasenko [Sun, 12 Apr 2009 13:54:13 +0000 (13:54 -0000)]
awk: fix long field separators case. By Ian Wienand (ianw AT vmware.com)

15 years agogetty: fix handling of speed 0;
Denis Vlasenko [Sun, 12 Apr 2009 13:05:40 +0000 (13:05 -0000)]
getty: fix handling of speed 0;
 stop using non-portable way of setting speeds.

function                                             old     new   delta
cfsetispeed                                            -      76     +76
cfsetospeed                                            -      57     +57
cfgetispeed                                            -      20     +20

15 years agomount: users report that CIFS support is breaking things,
Denis Vlasenko [Sun, 12 Apr 2009 12:16:21 +0000 (12:16 -0000)]
mount: users report that CIFS support is breaking things,
 mostly remove it.

15 years agodnsd: removed highly questionable setting of signals to SIG_IGN
Denis Vlasenko [Sun, 12 Apr 2009 04:20:22 +0000 (04:20 -0000)]
dnsd: removed highly questionable setting of signals to SIG_IGN

15 years agodnsd: fix a number of bugs. Ideas by Ming-Ching Tiew (mctiew AT yahoo.com)
Denis Vlasenko [Sun, 12 Apr 2009 04:09:09 +0000 (04:09 -0000)]
dnsd: fix a number of bugs. Ideas by Ming-Ching Tiew (mctiew AT yahoo.com)

function                                             old     new   delta
undot                                                  -      42     +42
dnsd_main                                           1394    1213    -181
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 42/-181)          Total: -139 bytes

15 years agoash: fix warning in debug build
Denis Vlasenko [Sun, 12 Apr 2009 00:00:57 +0000 (00:00 -0000)]
ash: fix warning in debug build

15 years agohush: remove functions from TODOs
Denis Vlasenko [Sat, 11 Apr 2009 11:07:22 +0000 (11:07 -0000)]
hush: remove functions from TODOs

15 years agohush: improve debugging output
Denis Vlasenko [Sat, 11 Apr 2009 10:38:47 +0000 (10:38 -0000)]
hush: improve debugging output

15 years agohush: fix "while...do f1() {a;}; f1; f1 {b;}; f1; done" bug
Denis Vlasenko [Sat, 11 Apr 2009 10:37:10 +0000 (10:37 -0000)]
hush: fix "while...do f1() {a;}; f1; f1 {b;}; f1; done" bug

15 years agohush: tweak tests
Denis Vlasenko [Fri, 10 Apr 2009 23:48:03 +0000 (23:48 -0000)]
hush: tweak tests

15 years agohush: add function tests
Denis Vlasenko [Fri, 10 Apr 2009 23:23:41 +0000 (23:23 -0000)]
hush: add function tests

15 years agohush: pass $n to functions
Denis Vlasenko [Fri, 10 Apr 2009 21:57:50 +0000 (21:57 -0000)]
hush: pass $n to functions

function                                             old     new   delta
run_pipe                                            1183    1325    +142
run_list                                            1219    1220      +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 143/0)             Total: 143 bytes

15 years agohush: fix a few thinkos in function support; make it work on NOMMU;
Denis Vlasenko [Fri, 10 Apr 2009 21:22:02 +0000 (21:22 -0000)]
hush: fix a few thinkos in function support; make it work on NOMMU;
 functions in child shells now even have $n passed to them! :)
 (in main shell it still doesn't work)

15 years agohush: first stab at function support. argv passing is not coded yet.
Denis Vlasenko [Fri, 10 Apr 2009 19:05:43 +0000 (19:05 -0000)]
hush: first stab at function support. argv passing is not coded yet.
 Only very rudimentary testing was done.
 With function support off, code growth is zero, with it on:

function                                             old     new   delta
run_list                                            2158    2339    +181
parse_stream                                        1929    2044    +115
find_builtin                                          24      67     +43
find_function                                          -      36     +36
file_get                                             244     264     +20
pseudo_exec_argv                                     145     160     +15
free_strings                                           -       7      +7
free_pipe                                            183     181      -2
done_word                                            735     728      -7
expand_variables                                    2227    2204     -23
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/3 up/down: 417/-32)           Total: 385 bytes

15 years agohush: reinstate accidentally reverted comment fix
Denis Vlasenko [Fri, 10 Apr 2009 13:51:56 +0000 (13:51 -0000)]
hush: reinstate accidentally reverted comment fix

15 years agohush: fix some TODOs. TODO in export builting: +250 bytes.
Denis Vlasenko [Fri, 10 Apr 2009 13:49:10 +0000 (13:49 -0000)]
hush: fix some TODOs. TODO in export builting: +250 bytes.
 simplify unexpected EOF handling.

function                                             old     new   delta
builtin_export                                       117     374    +257
o_reset_to_empty_unquoted                              -      21     +21
parse_stream                                        1926    1929      +3
syntax_error_unterm_ch                                31      32      +1
handle_dollar                                        644     641      -3
parse_stream_dquoted                                 307     298      -9
add_till_backquote                                   106      97      -9
add_till_closing_paren                               303     286     -17
o_reset                                               21       -     -21
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 3/4 up/down: 282/-59)           Total: 223 bytes

15 years agohush: tighten up "for" variable name check.
Denis Vlasenko [Fri, 10 Apr 2009 12:03:20 +0000 (12:03 -0000)]
hush: tighten up "for" variable name check.
 Add TODOs.
 Disable redir4.right part where we differ from bash.
 It is not a bug per standards.
 Add a few tests, one is in hush-bugs section:
 and_or_and_backgrounding.right. It will likely bite users
 in real world usage.

15 years agohush: fix typo in comment
Denis Vlasenko [Fri, 10 Apr 2009 11:13:26 +0000 (11:13 -0000)]
hush: fix typo in comment

15 years agofix segfault on syntax error code path
Denis Vlasenko [Fri, 10 Apr 2009 00:45:02 +0000 (00:45 -0000)]
fix segfault on syntax error code path