summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-10-01 20:55:02 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-10-01 20:55:02 +0200
commit88ac97d02dfeb4d3bd9efda45ceb64608cfedd53 (patch)
treed6ce66f90972a00ff95f811bd10a34b89bb7ea6b /shell/hush_test
parentc4d4380a0700542796887b2e6dbd41e9a7916997 (diff)
downloadbusybox-w32-88ac97d02dfeb4d3bd9efda45ceb64608cfedd53.tar.gz
busybox-w32-88ac97d02dfeb4d3bd9efda45ceb64608cfedd53.tar.bz2
busybox-w32-88ac97d02dfeb4d3bd9efda45ceb64608cfedd53.zip
ash: [EXPAND] Do not split quoted VSLENGTH and VSTRIM
Upstream patch: Date: Wed, 8 Oct 2014 15:42:08 +0800 [EXPAND] Do not split quoted VSLENGTH and VSTRIM Currently VSLENGTH and VSTRIM* are field-split even within quotes. This is obviously wrong. This patch fixes that. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-vars/var_wordsplit_ifs2.right3
-rwxr-xr-xshell/hush_test/hush-vars/var_wordsplit_ifs2.tests13
-rw-r--r--shell/hush_test/hush-vars/var_wordsplit_ifs3.right12
-rwxr-xr-xshell/hush_test/hush-vars/var_wordsplit_ifs3.tests5
4 files changed, 33 insertions, 0 deletions
diff --git a/shell/hush_test/hush-vars/var_wordsplit_ifs2.right b/shell/hush_test/hush-vars/var_wordsplit_ifs2.right
new file mode 100644
index 000000000..c234193fe
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_wordsplit_ifs2.right
@@ -0,0 +1,3 @@
1Unquoted:<1>
2Unquoted:<3>
3Quoted:<123>
diff --git a/shell/hush_test/hush-vars/var_wordsplit_ifs2.tests b/shell/hush_test/hush-vars/var_wordsplit_ifs2.tests
new file mode 100755
index 000000000..47523549c
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_wordsplit_ifs2.tests
@@ -0,0 +1,13 @@
1# 123 chars long
2a="\
301234567890123456789\
401234567890123456789\
501234567890123456789\
601234567890123456789\
701234567890123456789\
80123456789\
90123456789\
10012"
11
12IFS=2; for v in ${#a}; do echo Unquoted:"<$v>"; done
13IFS=2; for v in "${#a}"; do echo Quoted:"<$v>"; done
diff --git a/shell/hush_test/hush-vars/var_wordsplit_ifs3.right b/shell/hush_test/hush-vars/var_wordsplit_ifs3.right
new file mode 100644
index 000000000..5ab72e1cd
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_wordsplit_ifs3.right
@@ -0,0 +1,12 @@
1Unquoted%:<q>
2Unquoted%:<w>
3Unquoted%:<e>
4Unquoted%:<r>
5Unquoted%:<t>
6Unquoted#:<w>
7Unquoted#:<e>
8Unquoted#:<r>
9Unquoted#:<t>
10Unquoted#:<y>
11Quoted%:<q w e r t >
12Quoted#:< w e r t y>
diff --git a/shell/hush_test/hush-vars/var_wordsplit_ifs3.tests b/shell/hush_test/hush-vars/var_wordsplit_ifs3.tests
new file mode 100755
index 000000000..4aa65574a
--- /dev/null
+++ b/shell/hush_test/hush-vars/var_wordsplit_ifs3.tests
@@ -0,0 +1,5 @@
1a="q w e r t y"
2for v in ${a%y}; do echo Unquoted%:"<$v>"; done
3for v in ${a#q}; do echo Unquoted#:"<$v>"; done
4for v in "${a%y}"; do echo Quoted%:"<$v>"; done
5for v in "${a#q}"; do echo Quoted#:"<$v>"; done