Denys Vlasenko
64aa86b720
ash: LINENO starts from 0 in -c SCRIPT mode
...
The var_LINENO3.tests fails for hush: it does start from 0, but does not increment.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-07 18:16:45 +02:00
Denys Vlasenko
97c3b5e3ff
hush: fix bkslash+newline handling and number validation in ${NN} and ${#NN}
...
Entering "${1a}" into interactive shell was making it exit.
function old new delta
parse_dollar 824 958 +134
i_getch_and_eat_bkslash_nl - 44 +44
parse_expr 917 938 +21
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 199/0) Total: 199 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-19 15:45:45 +02:00
Denys Vlasenko
f693b606b7
hush: fix recent breakage from parse_stream() changes
...
function old new delta
parse_stream 3808 3821 +13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-11 20:00:43 +02:00
Denys Vlasenko
89e9d5534d
hush: do not drop backslash from eval 'echo ok\'
...
newer bash does not drop it, most other shells too
function old new delta
unbackslash 39 57 +18
parse_stream 2753 2751 -2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 18/-2) Total: 16 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-11 01:15:33 +02:00
Denys Vlasenko
9a95df9046
ash: expand: Fix bugs with words connected to the right of $@
...
Upstream email:
This is actually composed of two bugs. First of all our tracking
of quotemark is wrong so anything after "$@" becomes quoted. Once
we fix that then the problem is that the first space character
after "$@" is not recognised as an IFS.
This patch fixes both.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-02 14:27:50 +02:00
Denys Vlasenko
1e5111b0f8
ash,hush: handle a few more bkslash-newline cases
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-01 03:04:55 +02:00
Denys Vlasenko
25f3b737dc
hush: fix comment parsing in cmd
, closes 10421
...
function old new delta
parse_stream 2692 2690 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-22 15:55:48 +02:00
Denys Vlasenko
39701204cf
hush: do not accept "if() { echo; }" function def
...
function old new delta
parse_stream 2634 2692 +58
msg_and_die_if_script - 21 +21
syntax_error_unexpected_ch 41 46 +5
syntax_error_at 14 18 +4
die_if_script 31 28 -3
setup_redirects 319 308 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/2 up/down: 88/-14) Total: 74 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-02 19:46:14 +02:00
Denys Vlasenko
e34dbc4fdc
ash: add all hush parsing tests to ast tests
...
All pass.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-24 02:49:56 +02:00
Denys Vlasenko
9f904a22ff
shell: and_or_and_backgrounding.tests is no longer "UNFIXED BUG"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-15 22:54:46 +02:00
Denys Vlasenko
ee553b929c
hush: fix and_or_and_backgrounding.tests failure
...
function old new delta
done_pipe 133 218 +85
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-15 22:51:55 +02:00