ash: expand: Fix ghost fields with unquoted $@/$*
Upstream commit: Date: Fri, 23 Mar 2018 18:58:47 +0800 expand: Fix ghost fields with unquoted $@/$* You're right. The proper fix to this is to ensure that nulonly is not set in varvalue for $*. It should only be set for $@ when it's inside double quotes. In fact there is another bug while we're playing with $@/$*. When IFS is set to a non-whitespace character such as :, $* outside quotes won't remove empty fields as it should. This patch fixes both problems. Reported-by: Martijn Dekker <martijn@inlv.org> Suggested-by: Harald van Dijk <harald@gigawatt.nl> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> function old new delta argstr 1111 1113 +2 evalvar 571 569 -2 varvalue 579 576 -3 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 2/-5) Total: -3 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
1
shell/hush_test/hush-vars/var_wordsplit_ifs5.right
Normal file
1
shell/hush_test/hush-vars/var_wordsplit_ifs5.right
Normal file
@@ -0,0 +1 @@
|
||||
Zero:0
|
4
shell/hush_test/hush-vars/var_wordsplit_ifs5.tests
Executable file
4
shell/hush_test/hush-vars/var_wordsplit_ifs5.tests
Executable file
@@ -0,0 +1,4 @@
|
||||
IFS=
|
||||
set --
|
||||
set -- $@ $*
|
||||
echo Zero:$#
|
Reference in New Issue
Block a user