diff options
author | Denys Vlasenko | 2011-08-01 18:16:43 +0200 |
---|---|---|
committer | Denys Vlasenko | 2011-08-01 18:16:43 +0200 |
commit | 6e42b89b8d136316e1b97b56cf885e8ef9d64caf (patch) | |
tree | b22a7d3e771d5262c39058764f13ac62c5cfe731 /shell/hush_test/hush-parsing | |
parent | 4fb53fb08ce3da8eac13438ce613df20e523c75d (diff) | |
download | busybox-6e42b89b8d136316e1b97b56cf885e8ef9d64caf.zip busybox-6e42b89b8d136316e1b97b56cf885e8ef9d64caf.tar.gz |
hush: fix remaining known two bugs with IFS expansion. Closes 4027.
function old new delta
expand_vars_to_list 1054 1140 +86
parse_stream 2425 2479 +54
expand_on_ifs 258 310 +52
builtin_umask 133 132 -1
done_word 820 779 -41
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 192/-42) Total: 150 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-parsing')
-rw-r--r-- | shell/hush_test/hush-parsing/starquoted2.right | 3 | ||||
-rwxr-xr-x | shell/hush_test/hush-parsing/starquoted2.tests | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/shell/hush_test/hush-parsing/starquoted2.right b/shell/hush_test/hush-parsing/starquoted2.right index e1562ed..1bff408 100644 --- a/shell/hush_test/hush-parsing/starquoted2.right +++ b/shell/hush_test/hush-parsing/starquoted2.right @@ -1,4 +1,7 @@ Should be printed +Would not be printed by bash +Would not be printed by bash +Would not be printed by bash Should be printed Empty: Empty: diff --git a/shell/hush_test/hush-parsing/starquoted2.tests b/shell/hush_test/hush-parsing/starquoted2.tests index f305c4c..7c5ff45 100755 --- a/shell/hush_test/hush-parsing/starquoted2.tests +++ b/shell/hush_test/hush-parsing/starquoted2.tests @@ -8,9 +8,9 @@ for a in "$@"; do echo Should not be printed; done # Yes, believe it or not, bash is mesmerized by "$@" and stops # treating "" as "this word cannot be expanded to nothing, # but must be at least null string". Now it can be expanded to nothing. -for a in "$@"""; do echo Should not be printed; done -for a in """$@"; do echo Should not be printed; done -for a in """$@"''"$@"''; do echo Should not be printed; done +for a in "$@"""; do echo Would not be printed by bash; done +for a in """$@"; do echo Would not be printed by bash; done +for a in """$@"''"$@"''; do echo Would not be printed by bash; done for a in ""; do echo Should be printed; done # Bug 207: "$@" expands to nothing, and we erroneously glob "%s\n" twice: |