diff options
author | Denys Vlasenko | 2021-06-19 15:28:10 +0200 |
---|---|---|
committer | Denys Vlasenko | 2021-06-19 15:45:45 +0200 |
commit | 97c3b5e3ff252b3399d10835d5c906886a7499f4 (patch) | |
tree | 91b0292f8621f48f3a35b5854e99b0998f2e4895 /shell/hush_test | |
parent | fd217c1cbf7a702ad632bb21f7757433de1755b7 (diff) | |
download | busybox-97c3b5e3ff252b3399d10835d5c906886a7499f4.zip busybox-97c3b5e3ff252b3399d10835d5c906886a7499f4.tar.gz |
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>
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-parsing/bkslash_newline4.right | 4 | ||||
-rwxr-xr-x | shell/hush_test/hush-parsing/bkslash_newline4.tests | 14 | ||||
-rw-r--r-- | shell/hush_test/hush-vars/var6.right | 2 |
3 files changed, 19 insertions, 1 deletions
diff --git a/shell/hush_test/hush-parsing/bkslash_newline4.right b/shell/hush_test/hush-parsing/bkslash_newline4.right new file mode 100644 index 0000000..2110716 --- /dev/null +++ b/shell/hush_test/hush-parsing/bkslash_newline4.right @@ -0,0 +1,4 @@ +1:1 +22:22 +3:3 +Ok:0 diff --git a/shell/hush_test/hush-parsing/bkslash_newline4.tests b/shell/hush_test/hush-parsing/bkslash_newline4.tests new file mode 100755 index 0000000..c8f5037 --- /dev/null +++ b/shell/hush_test/hush-parsing/bkslash_newline4.tests @@ -0,0 +1,14 @@ +set -- 1 22 333 +echo 1:$\ +1 +echo 22:$\ +{\ +2\ +} +echo 3:$\ +{\ +#\ +3\ +} +echo Ok:$\ +? diff --git a/shell/hush_test/hush-vars/var6.right b/shell/hush_test/hush-vars/var6.right index 40e67fd..5e28d2f 100644 --- a/shell/hush_test/hush-vars/var6.right +++ b/shell/hush_test/hush-vars/var6.right @@ -1,2 +1,2 @@ -hush: invalid number '1q' +hush: syntax error: unterminated ${name} hush: syntax error: unterminated ${name} |