busybox/shell/hush_test/hush-vars
Denys Vlasenko 8286513838 hush: rework input char buffering to allow more than one-deep peek
This fixes backslash+newline continuation in
	$VAR\
	NAME
construct. (ash has a bug there as well).

function                                             old     new   delta
file_peek2                                             -      74     +74
parse_dollar                                         746     773     +27
expand_vars_to_list                                 1143    1167     +24
setup_string_in_str                                   32      46     +14
setup_file_in_str                                     33      47     +14
file_get                                             264     278     +14
static_peek2                                           -       7      +7
file_peek                                             91      72     -19
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 5/1 up/down: 174/-19)           Total: 155 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-09-29 16:59:06 +02:00
..
empty.right hush: fix some fallout from prev commits, add testsuite 2008-06-10 18:06:24 +00:00
empty.tests
glob_and_vars.right
glob_and_vars.tests hush: fix hush-bugs/glob_and_vars.tests testcase: 2008-06-16 12:47:11 +00:00
param_expand_alt.right hush: fix segfault in ${?:N:M} 2010-05-22 06:20:26 +02:00
param_expand_alt.tests hush: fix segfault in ${?:N:M} 2010-05-22 06:20:26 +02:00
param_expand_assign.right hush: deal with some easier TODOs 2009-04-09 19:16:15 +00:00
param_expand_assign.tests
param_expand_bash_substring.right hush: fix segfault in ${?:N:M} 2010-05-22 06:20:26 +02:00
param_expand_bash_substring.tests hush: fix segfault in ${?:N:M} 2010-05-22 06:20:26 +02:00
param_expand_default.right
param_expand_default.tests
param_expand_indicate_error.right hush: handle expansions in ${var?expanded_word} constructs 2010-05-21 17:54:46 +02:00
param_expand_indicate_error.tests hush: handle expansions in ${var?expanded_word} constructs 2010-05-21 17:54:46 +02:00
param_expand_len.right hush: fix "hush -c 'echo $#'" showing -1 2010-05-22 06:05:02 +02:00
param_expand_len.tests hush: fix "hush -c 'echo $#'" showing -1 2010-05-22 06:05:02 +02:00
param_glob.right fix globbing in unquoted $* and $@ 2008-06-18 17:49:58 +00:00
param_glob.tests
param_subshell.right
param_subshell.tests
star.right
star.tests
unset.right
unset.tests
var1.right
var1.tests
var2.right
var2.tests
var3.right hush: fix a=abc; c=c; echo ${a%${c}} 2010-05-21 19:52:01 +02:00
var3.tests hush: add support for special vars in braces 2009-06-01 14:16:43 -04:00
var_bash1.right hush: add support for ${var/pattern/repl}, conditional on bash compat 2010-09-05 14:47:58 +02:00
var_bash1.tests hush: add support for ${var/pattern/repl}, conditional on bash compat 2010-09-05 14:47:58 +02:00
var_bash2.right hush: add support for ${var/pattern/repl}, conditional on bash compat 2010-09-05 14:47:58 +02:00
var_bash2.tests hush: add support for ${var/pattern/repl}, conditional on bash compat 2010-09-05 14:47:58 +02:00
var_bash3.right hush: add support for ${var/pattern/repl}, conditional on bash compat 2010-09-05 14:47:58 +02:00
var_bash3.tests hush: add support for ${var/pattern/repl}, conditional on bash compat 2010-09-05 14:47:58 +02:00
var_bash4.right hush: fix globbing+backslashes in unquoted $var expansion 2010-09-06 10:26:37 +02:00
var_bash4.tests hush: fix globbing+backslashes in unquoted $var expansion 2010-09-06 10:26:37 +02:00
var_bash5.right hush: fix var_bash5.tests failure 2010-09-10 10:17:53 +02:00
var_bash5.tests hush: fix var_bash5.tests failure 2010-09-10 10:17:53 +02:00
var_bash6.right hush: do fewer strdups in % and hash expansions 2010-09-10 11:06:01 +02:00
var_bash6.tests hush: do fewer strdups in % and hash expansions 2010-09-10 11:06:01 +02:00
var_expand_in_assign.right hush: more fixes to variable expansion, more testcases 2007-05-14 16:23:23 +00:00
var_expand_in_assign.tests hush: more fixes to variable expansion, more testcases 2007-05-14 16:23:23 +00:00
var_expand_in_redir.right
var_expand_in_redir.tests hush: fix $ expansion in redirections, add testcase for that 2007-11-23 21:08:38 +00:00
var_expand_on_ifs.right hush: partially fix wrong expansion on $IFS (bug 4027). 2011-08-01 14:06:20 +02:00
var_expand_on_ifs.tests hush: partially fix wrong expansion on $IFS (bug 4027). 2011-08-01 14:06:20 +02:00
var_in_pipes.right
var_in_pipes.tests
var_leaks.right
var_leaks.tests
var_posix1.right hush: fix more obscure ${var%...} cases 2010-05-22 00:26:06 +02:00
var_posix1.tests hush: fix more obscure ${var%...} cases 2010-05-22 00:26:06 +02:00
var_preserved.right
var_preserved.tests
var_serial.right hush: fix multimple dependent variable expansion cases 2010-07-16 13:52:32 +02:00
var_serial.tests hush: fix multimple dependent variable expansion cases 2010-07-16 13:52:32 +02:00
var_subst_in_for.right hush: move towards more correct variable expansion 2007-05-14 16:19:34 +00:00
var_subst_in_for.tests
var_unbackslash1.right hush: rework input char buffering to allow more than one-deep peek 2016-09-29 16:59:06 +02:00
var_unbackslash1.tests hush: rework input char buffering to allow more than one-deep peek 2016-09-29 16:59:06 +02:00
var_unbackslash.right hush: make parse_dollar flag quited status regardless of glob escaping status 2010-09-09 14:04:57 +02:00
var_unbackslash.tests hush: make parse_dollar flag quited status regardless of glob escaping status 2010-09-09 14:04:57 +02:00
var-do-not-collapse-arithmetic-expansion-at-parse-time.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-do-not-collapse-arithmetic-expansion-at-parse-time.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-do-not-expand-tilde-in-parameter-expansion-in-quotes.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-do-not-expand-tilde-in-parameter-expansion-in-quotes.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-do-not-quote-backslashes-in-parameter-expansions-outside-quotes.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-1.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-1.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-2.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-2.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-3.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-3.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-4.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-4.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-5.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-pattern-replacement-in-parameter-expansion-5.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-runtime-quote-detection.right hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00
var-runtime-quote-detection.tests hush: add recent ash tests to hush testsuite too (they all pass for hush) 2015-05-18 10:23:16 +02:00