busybox/shell/hush_test
Denys Vlasenko 440da97ed7 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>
2018-08-05 14:29:58 +02:00
..
hush-arith ash: parser: Add syntax stack for recursive parsing 2018-04-02 13:15:37 +02:00
hush-bugs hush: fix and_or_and_backgrounding.tests failure 2017-07-15 22:51:55 +02:00
hush-getopts hush: fix "getopts" builtin to not be upset by other builtins calling getopt() 2017-08-29 13:38:30 +02:00
hush-glob hush: never glob result of dquoted "${v:+/bin/c*}" 2018-07-20 19:29:41 +02:00
hush-heredoc hush: add "heredoc.tests" from ash, tweak ash "is a function" message 2018-07-24 17:10:18 +02:00
hush-invert hush testsuite: add many tests from ash testsuite 2016-10-02 17:39:31 +02:00
hush-leak hush: do not use ps -o in leak_argv1; do not hardcode path in negate 2009-08-12 14:21:30 +02:00
hush-misc ash: eval: Variable assignments on functions are no longer persistent 2018-08-05 11:14:11 +02:00
hush-parsing hush: fix recent breakage from parse_stream() changes 2018-04-11 20:00:43 +02:00
hush-psubst hush: fix a few more corner cases with empty-expanding cmds 2018-04-05 15:15:53 +02:00
hush-quoting hush: fix handling of '' in ${var:+ARG} 2018-07-20 17:36:06 +02:00
hush-read hush: fix IFS handling in read 2018-04-11 17:18:34 +02:00
hush-redir hush: fix nested redirects colliding with script fds 2018-07-24 16:54:41 +02:00
hush-signals hush: add support for "set -e" 2017-07-14 13:36:48 +02:00
hush-standalone ash: fix nofork bug where environment is not properly passed to a command 2017-11-03 14:16:25 +01:00
hush-vars ash: expand: Fix ghost fields with unquoted $@/$* 2018-08-05 14:29:58 +02:00
hush-z_slow hush: improve ${var#...}, ${var:+...} and ${var/.../...} - handle quoting 2018-07-17 14:21:38 +02:00
.gitignore hush_test: ignore generated files 2009-05-21 17:45:26 -04:00
run-all nofork: fix a bug uncovered by hush testsuite (forgotten fflush) 2017-08-03 19:52:47 +02:00