busybox/shell/ash_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
..
ash-alias
ash-arith ash: parser: Add syntax stack for recursive parsing 2018-04-02 13:15:37 +02:00
ash-getopts hush: fix "getopts" builtin to not be upset by other builtins calling getopt() 2017-08-29 13:38:30 +02:00
ash-glob hush: never glob result of dquoted "${v:+/bin/c*}" 2018-07-20 19:29:41 +02:00
ash-heredoc hush: add "heredoc.tests" from ash, tweak ash "is a function" message 2018-07-24 17:10:18 +02:00
ash-invert
ash-misc ash: eval: Variable assignments on functions are no longer persistent 2018-08-05 11:14:11 +02:00
ash-parsing hush: fix recent breakage from parse_stream() changes 2018-04-11 20:00:43 +02:00
ash-psubst ash: add LINENO support 2018-01-27 22:02:05 +01:00
ash-quoting hush: fix handling of '' in ${var:+ARG} 2018-07-20 17:36:06 +02:00
ash-read shell: optional support for read -t N.NNN, closes 10101 2017-07-20 16:09:31 +02:00
ash-redir hush: fix nested redirects colliding with script fds 2018-07-24 16:54:41 +02:00
ash-signals ash: copy three tests from hush_test/hush-signals/* 2017-07-24 19:42:46 +02:00
ash-standalone ash: fix nofork bug where environment is not properly passed to a command 2017-11-03 14:16:25 +01:00
ash-vars ash: expand: Fix ghost fields with unquoted $@/$* 2018-08-05 14:29:58 +02:00
ash-z_slow hush: improve ${var#...}, ${var:+...} and ${var/.../...} - handle quoting 2018-07-17 14:21:38 +02:00
.gitignore ash_test: ignore generated files 2016-03-22 18:15:24 -04:00
printenv.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
recho.c whitespace cleanup 2010-10-29 11:46:52 +02:00
run-all ash: add all hush parsing tests to ast tests 2017-07-24 02:49:56 +02:00
zecho.c whitespace cleanup 2010-10-29 11:46:52 +02:00