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 cosmetics in hush testsuites 2008-06-18 17:53:57 +00:00
glob_and_vars.right hush: fix hush-bugs/glob_and_vars.tests testcase: 2008-06-16 12:47:11 +00:00
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 hust_test/*: use "$THIS_SH" instead of hush 2009-03-31 22:14:32 +00:00
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 add hush tests for parameter expansion 2009-03-28 18:55:34 +00:00
param_expand_default.tests hust_test/*: use "$THIS_SH" instead of hush 2009-03-31 22:14:32 +00:00
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 hush: fix exec builtin in a better way (+ "glob in exec" bug fixed) 2009-10-19 23:09:06 +02:00
param_subshell.right hush: fix passing of $n on NOMMU 2009-04-05 02:10:39 +00:00
param_subshell.tests hush: tighten up "for" variable name check. 2009-04-10 12:03:20 +00:00
star.right hush: fix a bit different instance of "No EOL" bug, 2007-05-23 00:32:25 +00:00
star.tests hush: fix a bit different instance of "No EOL" bug, 2007-05-23 00:32:25 +00:00
unset.right hush: fix problems with case in subshells and with "case esac" 2009-05-23 16:50:07 +02:00
unset.tests implement unset semantics as required by POSIX 2009-03-30 06:50:54 +00:00
var1.right hush: add support for special vars in braces 2009-06-01 14:16:43 -04:00
var1.tests hush: add support for special vars in braces 2009-06-01 14:16:43 -04:00
var2.right hush: support $_NUMBERS variable names 2008-07-31 10:34:48 +00:00
var2.tests hush: support $_NUMBERS variable names 2008-07-31 10:34:48 +00:00
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 hush: fix $ expansion in redirections, add testcase for that 2007-11-23 21:08:38 +00:00
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 hush: fix bug with local environment vars in pipes; simplify parse_stream() 2009-04-03 03:19:15 +00:00
var_in_pipes.tests hush: fix bug with local environment vars in pipes; simplify parse_stream() 2009-04-03 03:19:15 +00:00
var_leaks.right hush: fix environment and memory leaks, add tests for them 2008-10-09 16:29:44 +00:00
var_leaks.tests hush: fix environment and memory leaks, add tests for them 2008-10-09 16:29:44 +00:00
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 hush: fix NOMMU bug (analogous to preceding commit for MMU) 2008-10-13 12:36:05 +00:00
var_preserved.tests hush: fix NOMMU bug (analogous to preceding commit for MMU) 2008-10-13 12:36:05 +00:00
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 cosmetics in hush testsuites 2008-06-18 17:53:57 +00:00
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