diff options
author | Denys Vlasenko | 2018-07-17 14:21:38 +0200 |
---|---|---|
committer | Denys Vlasenko | 2018-07-17 14:21:38 +0200 |
commit | b762c784caa78877a9949224af425e52db237beb (patch) | |
tree | f452b87d4abd8d48bb1c711f9330c786b4c3fe6e /shell/ash_test/ash-quoting/dollar_altvalue1.tests | |
parent | 1fbb73fc4cee44f0768fbb09fe8f41a52d47ed3e (diff) | |
download | busybox-b762c784caa78877a9949224af425e52db237beb.zip busybox-b762c784caa78877a9949224af425e52db237beb.tar.gz |
hush: improve ${var#...}, ${var:+...} and ${var/.../...} - handle quoting
dollar_altvalue1 test partially fails: word splitting of unquoted ${var:+...}
is not correct
function old new delta
encode_then_expand_vararg - 443 +443
expand_one_var 1599 1610 +11
parse_stream 2756 2753 -3
encode_string 250 242 -8
setup_heredoc 308 298 -10
expand_and_evaluate_arith 106 96 -10
encode_then_expand_string 142 126 -16
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/5 up/down: 454/-47) Total: 407 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash_test/ash-quoting/dollar_altvalue1.tests')
-rwxr-xr-x | shell/ash_test/ash-quoting/dollar_altvalue1.tests | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/shell/ash_test/ash-quoting/dollar_altvalue1.tests b/shell/ash_test/ash-quoting/dollar_altvalue1.tests new file mode 100755 index 0000000..f4dc8ca --- /dev/null +++ b/shell/ash_test/ash-quoting/dollar_altvalue1.tests @@ -0,0 +1,16 @@ +f() { for i; do echo "|$i|"; done; } +x=a + +echo Unquoted b c d +f ${x:+b c d} +echo Unquoted "'b c' d" +f ${x:+'b c' d} +echo Unquoted '"b c" d' +f ${x:+"b c" d} + +echo Quoted b c d +f "${x:+b c d}" +echo Quoted "'b c' d" +f "${x:+'b c' d}" +echo Quoted '"b c" d' +f "${x:+"b c" d}" |