aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2021-09-07 18:16:45 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-09-07 18:16:45 +0200
commit64aa86b720641cb50be9636e6c20d4dbbea6fed0 (patch)
tree831e13eec7b361f1f9b37a4359594969eee0050c /shell
parentd6c9cbc0727cc3875672ae280ec129514a9d8594 (diff)
downloadbusybox-w32-64aa86b720641cb50be9636e6c20d4dbbea6fed0.tar.gz
busybox-w32-64aa86b720641cb50be9636e6c20d4dbbea6fed0.tar.bz2
busybox-w32-64aa86b720641cb50be9636e6c20d4dbbea6fed0.zip
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>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c2
-rw-r--r--shell/ash_test/ash-misc/control_char3.right2
-rw-r--r--shell/ash_test/ash-misc/control_char4.right2
-rw-r--r--shell/ash_test/ash-misc/shift1.right2
-rw-r--r--shell/ash_test/ash-misc/tickquote1.right2
-rw-r--r--shell/ash_test/ash-parsing/groups_and_keywords2.right2
-rw-r--r--shell/ash_test/ash-psubst/emptytick.right4
-rw-r--r--shell/ash_test/ash-vars/param_expand_alt.right4
-rw-r--r--shell/ash_test/ash-vars/param_expand_assign.right14
-rw-r--r--shell/ash_test/ash-vars/param_expand_bash_substring.right10
-rw-r--r--shell/ash_test/ash-vars/param_expand_default.right2
-rw-r--r--shell/ash_test/ash-vars/param_expand_indicate_error.right32
-rw-r--r--shell/ash_test/ash-vars/var6.right4
-rw-r--r--shell/ash_test/ash-vars/var_LINENO3.right2
-rwxr-xr-xshell/ash_test/ash-vars/var_LINENO3.tests2
-rw-r--r--shell/hush_test/hush-vars/var_LINENO3.right2
-rwxr-xr-xshell/hush_test/hush-vars/var_LINENO3.tests2
17 files changed, 49 insertions, 41 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 79fa3adba..35dbb2f28 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -14698,7 +14698,7 @@ int ash_main(int argc UNUSED_PARAM, char **argv)
14698 // ^^ not necessary since now we special-case fd 0 14698 // ^^ not necessary since now we special-case fd 0
14699 // in save_fd_on_redirect() 14699 // in save_fd_on_redirect()
14700 14700
14701 lineno = 1; 14701 lineno = 0; // bash compat
14702 // dash: evalstring(minusc, sflag ? 0 : EV_EXIT); 14702 // dash: evalstring(minusc, sflag ? 0 : EV_EXIT);
14703 // The above makes 14703 // The above makes
14704 // ash -sc 'echo $-' 14704 // ash -sc 'echo $-'
diff --git a/shell/ash_test/ash-misc/control_char3.right b/shell/ash_test/ash-misc/control_char3.right
index 283e02cbb..654005d24 100644
--- a/shell/ash_test/ash-misc/control_char3.right
+++ b/shell/ash_test/ash-misc/control_char3.right
@@ -1 +1 @@
SHELL: line 1: : not found SHELL: line 0: : not found
diff --git a/shell/ash_test/ash-misc/control_char4.right b/shell/ash_test/ash-misc/control_char4.right
index 2bf18e684..ec9d5fc98 100644
--- a/shell/ash_test/ash-misc/control_char4.right
+++ b/shell/ash_test/ash-misc/control_char4.right
@@ -1 +1 @@
SHELL: line 1: -: not found SHELL: line 0: -: not found
diff --git a/shell/ash_test/ash-misc/shift1.right b/shell/ash_test/ash-misc/shift1.right
index b53453c3a..fdba79fd3 100644
--- a/shell/ash_test/ash-misc/shift1.right
+++ b/shell/ash_test/ash-misc/shift1.right
@@ -1,5 +1,5 @@
12 3 4 12 3 4
20: shift: line 1: Illegal number: -1 20: shift: line 0: Illegal number: -1
31 2 3 4 31 2 3 4
42 3 4 42 3 4
53 4 53 4
diff --git a/shell/ash_test/ash-misc/tickquote1.right b/shell/ash_test/ash-misc/tickquote1.right
index 2e661bfe3..e55a31c2d 100644
--- a/shell/ash_test/ash-misc/tickquote1.right
+++ b/shell/ash_test/ash-misc/tickquote1.right
@@ -1 +1 @@
./tickquote1.tests: line 1: syntax error: unterminated quoted string ./tickquote1.tests: line 0: syntax error: unterminated quoted string
diff --git a/shell/ash_test/ash-parsing/groups_and_keywords2.right b/shell/ash_test/ash-parsing/groups_and_keywords2.right
index 3fcbeb662..2ce38fe6e 100644
--- a/shell/ash_test/ash-parsing/groups_and_keywords2.right
+++ b/shell/ash_test/ash-parsing/groups_and_keywords2.right
@@ -1,3 +1,3 @@
1./groups_and_keywords2.tests: eval: line 1: syntax error: unexpected ")" 1./groups_and_keywords2.tests: eval: line 2: syntax error: unexpected ")"
2Fail:2 2Fail:2
3./groups_and_keywords2.tests: line 8: syntax error: unexpected ")" 3./groups_and_keywords2.tests: line 8: syntax error: unexpected ")"
diff --git a/shell/ash_test/ash-psubst/emptytick.right b/shell/ash_test/ash-psubst/emptytick.right
index 459c4f735..8fe9839ca 100644
--- a/shell/ash_test/ash-psubst/emptytick.right
+++ b/shell/ash_test/ash-psubst/emptytick.right
@@ -1,8 +1,8 @@
10 10
20 20
3./emptytick.tests: line 1: : Permission denied 3./emptytick.tests: line 2: : Permission denied
4127 4127
5./emptytick.tests: line 1: : Permission denied 5./emptytick.tests: line 3: : Permission denied
6127 6127
70 70
80 80
diff --git a/shell/ash_test/ash-vars/param_expand_alt.right b/shell/ash_test/ash-vars/param_expand_alt.right
index 1303f8064..d10f1206f 100644
--- a/shell/ash_test/ash-vars/param_expand_alt.right
+++ b/shell/ash_test/ash-vars/param_expand_alt.right
@@ -1,5 +1,5 @@
1SHELL: line 1: syntax error: bad substitution 1SHELL: line 0: syntax error: bad substitution
2SHELL: line 1: syntax error: bad substitution 2SHELL: line 0: syntax error: bad substitution
3__ 3__
4_z_ _z_ 4_z_ _z_
5_ _ _ _ _ 5_ _ _ _ _
diff --git a/shell/ash_test/ash-vars/param_expand_assign.right b/shell/ash_test/ash-vars/param_expand_assign.right
index 6e9ea1379..52eaef9f8 100644
--- a/shell/ash_test/ash-vars/param_expand_assign.right
+++ b/shell/ash_test/ash-vars/param_expand_assign.right
@@ -1,11 +1,11 @@
1SHELL: line 1: syntax error: bad substitution 1SHELL: line 0: syntax error: bad substitution
2SHELL: line 1: syntax error: bad substitution 2SHELL: line 0: syntax error: bad substitution
3SHELL: line 1: syntax error: bad substitution 3SHELL: line 0: syntax error: bad substitution
40 40
5SHELL: line 1: 1: bad variable name 5SHELL: line 0: 1: bad variable name
6SHELL: line 1: 1: bad variable name 6SHELL: line 0: 1: bad variable name
7SHELL: line 1: 1: bad variable name 7SHELL: line 0: 1: bad variable name
8SHELL: line 1: 1: bad variable name 8SHELL: line 0: 1: bad variable name
9_aa 9_aa
10_aa 10_aa
11_aa 11_aa
diff --git a/shell/ash_test/ash-vars/param_expand_bash_substring.right b/shell/ash_test/ash-vars/param_expand_bash_substring.right
index 687dd9002..22a0b2881 100644
--- a/shell/ash_test/ash-vars/param_expand_bash_substring.right
+++ b/shell/ash_test/ash-vars/param_expand_bash_substring.right
@@ -1,8 +1,8 @@
1SHELL: line 1: syntax error: bad substitution 1SHELL: line 0: syntax error: bad substitution
2SHELL: line 1: syntax error: bad substitution 2SHELL: line 0: syntax error: bad substitution
3SHELL: line 1: syntax error: bad substitution 3SHELL: line 0: syntax error: bad substitution
4SHELL: line 1: syntax error: bad substitution 4SHELL: line 0: syntax error: bad substitution
5SHELL: line 1: syntax error: missing '}' 5SHELL: line 0: syntax error: missing '}'
60 60
71 =|| 71 =||
81:1 =|| 81:1 =||
diff --git a/shell/ash_test/ash-vars/param_expand_default.right b/shell/ash_test/ash-vars/param_expand_default.right
index 7a42f67e8..0852105ca 100644
--- a/shell/ash_test/ash-vars/param_expand_default.right
+++ b/shell/ash_test/ash-vars/param_expand_default.right
@@ -1,4 +1,4 @@
1SHELL: line 1: syntax error: bad substitution 1SHELL: line 0: syntax error: bad substitution
2_0 _0 2_0 _0
3_ _ _ _word _word 3_ _ _ _word _word
4_aaaa _aaaa _aaaa _aaaa _aaaa 4_aaaa _aaaa _aaaa _aaaa _aaaa
diff --git a/shell/ash_test/ash-vars/param_expand_indicate_error.right b/shell/ash_test/ash-vars/param_expand_indicate_error.right
index 33afacee0..53ea07181 100644
--- a/shell/ash_test/ash-vars/param_expand_indicate_error.right
+++ b/shell/ash_test/ash-vars/param_expand_indicate_error.right
@@ -1,14 +1,14 @@
1SHELL: line 1: syntax error: bad substitution 1SHELL: line 0: syntax error: bad substitution
21 21
30 30
4==== 4====
5_ 5_
6SHELL: line 1: 1: parameter not set 6SHELL: line 0: 1: parameter not set
7SHELL: line 1: 1: parameter not set or null 7SHELL: line 0: 1: parameter not set or null
8SHELL: line 1: 1: message1 8SHELL: line 0: 1: message1
9SHELL: line 1: 1: message1 9SHELL: line 0: 1: message1
10SHELL: line 1: 1: unset! 10SHELL: line 0: 1: unset!
11SHELL: line 1: 1: null or unset! 11SHELL: line 0: 1: null or unset!
12==== 12====
13_aaaa 13_aaaa
14_aaaa 14_aaaa
@@ -19,20 +19,20 @@ _aaaa
19_aaaa 19_aaaa
20==== 20====
21_ 21_
22SHELL: line 1: f: parameter not set 22SHELL: line 0: f: parameter not set
23SHELL: line 1: f: parameter not set or null 23SHELL: line 0: f: parameter not set or null
24SHELL: line 1: f: message3 24SHELL: line 0: f: message3
25SHELL: line 1: f: message3 25SHELL: line 0: f: message3
26SHELL: line 1: f: unset! 26SHELL: line 0: f: unset!
27SHELL: line 1: f: null or unset! 27SHELL: line 0: f: null or unset!
28==== 28====
29_ 29_
30_ 30_
31SHELL: line 1: f: parameter not set or null 31SHELL: line 0: f: parameter not set or null
32_ 32_
33SHELL: line 1: f: message4 33SHELL: line 0: f: message4
34_ 34_
35SHELL: line 1: f: null or unset! 35SHELL: line 0: f: null or unset!
36==== 36====
37_fff 37_fff
38_fff 38_fff
diff --git a/shell/ash_test/ash-vars/var6.right b/shell/ash_test/ash-vars/var6.right
index b37417fa1..e83f7b5eb 100644
--- a/shell/ash_test/ash-vars/var6.right
+++ b/shell/ash_test/ash-vars/var6.right
@@ -1,2 +1,2 @@
1SHELL: line 1: syntax error: bad substitution 1SHELL: line 0: syntax error: bad substitution
2SHELL: line 1: syntax error: bad substitution 2SHELL: line 0: syntax error: bad substitution
diff --git a/shell/ash_test/ash-vars/var_LINENO3.right b/shell/ash_test/ash-vars/var_LINENO3.right
new file mode 100644
index 000000000..198c3cc99
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_LINENO3.right
@@ -0,0 +1,2 @@
1LINENO starts from 0 in -c
2and increments on next line: 1
diff --git a/shell/ash_test/ash-vars/var_LINENO3.tests b/shell/ash_test/ash-vars/var_LINENO3.tests
new file mode 100755
index 000000000..4502edfe0
--- /dev/null
+++ b/shell/ash_test/ash-vars/var_LINENO3.tests
@@ -0,0 +1,2 @@
1$THIS_SH -c 'echo "LINENO starts from $LINENO in -c"
2echo "and increments on next line: $LINENO"'
diff --git a/shell/hush_test/hush-vars/var_LINENO3.right b/shell/hush_test/hush-vars/var_LINENO3.right
new file mode 100644
index 000000000..198c3cc99
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_LINENO3.right
@@ -0,0 +1,2 @@
1LINENO starts from 0 in -c
2and increments on next line: 1
diff --git a/shell/hush_test/hush-vars/var_LINENO3.tests b/shell/hush_test/hush-vars/var_LINENO3.tests
new file mode 100755
index 000000000..4502edfe0
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_LINENO3.tests
@@ -0,0 +1,2 @@
1$THIS_SH -c 'echo "LINENO starts from $LINENO in -c"
2echo "and increments on next line: $LINENO"'