<feed xmlns='http://www.w3.org/2005/Atom'>
<title>forks/busybox/shell/hush_test/hush-arith, branch 1_33_stable</title>
<subtitle>Busybox tree with Carbs Linux patches
</subtitle>
<id>https://git.carbslinux.org/forks/busybox/atom?h=1_33_stable</id>
<link rel='self' href='https://git.carbslinux.org/forks/busybox/atom?h=1_33_stable'/>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/'/>
<updated>2018-04-02T11:15:37+00:00</updated>
<entry>
<title>ash: parser: Add syntax stack for recursive parsing</title>
<updated>2018-04-02T11:15:37+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-04-02T10:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=216913c290fd2b88b744c04c0a2ef21fd1410ba9'/>
<id>urn:sha1:216913c290fd2b88b744c04c0a2ef21fd1410ba9</id>
<content type='text'>
This closes 10821.

Upstream patch:

    From: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
    Date: Fri, 9 Mar 2018 00:14:02 +0800
    parser: Add syntax stack for recursive parsing

    Without a stack of syntaxes we cannot correctly these two cases
    together:

            "${a#'$$'}"
            "${a#"${b-'$$'}"}"

    A recursive parser also helps in some other corner cases such
    as nested arithmetic expansion with paratheses.

    This patch adds a syntax stack allocated from the stack using
    alloca.  As a side-effect this allows us to remove the naked
    backslashes for patterns within double-quotes, which means that
    EXP_QPAT also has to go.

    This patch also fixes removes any backslashes that precede right
    braces when they are present within a parameter expansion context,
    and backslashes that precede double quotes within inner double
    quotes inside a parameter expansion in a here-document context.

    The idea of a recursive parser is based on a patch by Harald van
    Dijk.

    Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

var_bash3, var_bash4 and var_bash6 tests are updated
with the output given by bash-4.3.43

With this patch, the following tests now pass for ash:

    dollar_repl_slash_bash2.tests
    squote_in_varexp2.tests
    squote_in_varexp.tests
    var_bash4.tests

function                                             old     new   delta
readtoken1                                          2615    2874    +259
synstack_push                                          -      54     +54
evalvar                                              574     571      -3
rmescapes                                            330     310     -20
subevalvar                                          1279    1258     -21
argstr                                              1146    1107     -39
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/4 up/down: 313/-83)           Total: 230 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell: handle $((NUM++...) like bash does. Closes 10706</title>
<updated>2018-01-28T19:13:33+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2018-01-28T19:13:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=f19e3c1c6c96e3c709ac732ff70c586521f792d3'/>
<id>urn:sha1:f19e3c1c6c96e3c709ac732ff70c586521f792d3</id>
<content type='text'>
function                                             old     new   delta
evaluate_string                                      680     729     +49

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell/math: deconvolute and explain ?: handling. Give better error message</title>
<updated>2010-09-16T09:50:46+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2010-09-16T09:50:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=bed7c81ea24e9e9ba2a897e233de2abefe611e8b'/>
<id>urn:sha1:bed7c81ea24e9e9ba2a897e233de2abefe611e8b</id>
<content type='text'>
function                                             old     new   delta
arith_apply                                         1271    1283     +12

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
</content>
</entry>
<entry>
<title>shell/math: return string error indicator, not integer</title>
<updated>2010-09-15T11:33:02+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>dvlasenk@redhat.com</email>
</author>
<published>2010-09-15T11:33:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=063847d6bd23e184c409f37645ba90fa4d039ada'/>
<id>urn:sha1:063847d6bd23e184c409f37645ba90fa4d039ada</id>
<content type='text'>
function                                             old     new   delta
expand_and_evaluate_arith                             87     106     +19
expand_one_var                                      1563    1570      +7
arith                                                 12      18      +6
evaluate_string                                      678     680      +2
arith_apply                                         1269    1271      +2
builtin_umask                                        133     132      -1
ash_arith                                            118      75     -43
expand_vars_to_list                                 1094    1038     -56
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/3 up/down: 36/-100)           Total: -64 bytes

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
</content>
</entry>
<entry>
<title>hush: fix more obscure ${var%...} cases</title>
<updated>2010-05-21T22:26:06+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2010-05-21T22:26:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=a6ad397ea92cd9c53973243728d3e52640fe63ec'/>
<id>urn:sha1:a6ad397ea92cd9c53973243728d3e52640fe63ec</id>
<content type='text'>
function                                             old     new   delta
add_till_closing_paren                               313     359     +46
builtin_exit                                          48      47      -1

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>hush: fix SEGV in % expansion</title>
<updated>2009-04-26T11:25:19+00:00</updated>
<author>
<name>Denis Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2009-04-26T11:25:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=5b7589eb27e748a3d281c0341219cf7435e8b4f1'/>
<id>urn:sha1:5b7589eb27e748a3d281c0341219cf7435e8b4f1</id>
<content type='text'>
function                                             old     new   delta
expand_variables                                    2203    2217     +14

</content>
</entry>
<entry>
<title>hush: deal with some easier TODOs</title>
<updated>2009-04-09T19:16:15+00:00</updated>
<author>
<name>Denis Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2009-04-09T19:16:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=05d3b7cc0de2283f149b07196f1ca0557c062323'/>
<id>urn:sha1:05d3b7cc0de2283f149b07196f1ca0557c062323</id>
<content type='text'>
function                                             old     new   delta
is_well_formed_var_name                                -      87     +87
builtin_read                                          49      86     +37
die_if_script                                          -      31     +31
syntax_error_unterminated                              -      28     +28
syntax_error                                          26      51     +25
done_word                                            768     788     +20
syntax_error_at                                        -      12     +12
parse_stream_dquoted                                 320     328      +8
expand_variables                                    2064    2063      -1
run_list                                            1225    1220      -5
add_till_closing_paren                               308     303      -5
add_till_backquote                                   111     106      -5
handle_dollar                                        812     803      -9
parse_stream                                        2378    2356     -22
parse_redirect                                       408     372     -36
maybe_die                                             44       -     -44
is_assignment                                        215     134     -81
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 4/8 up/down: 248/-208)           Total: 40 bytes

</content>
</entry>
<entry>
<title>hush: rename -&gt;o_quote to -&gt;o_escape</title>
<updated>2009-04-02T20:17:49+00:00</updated>
<author>
<name>Denis Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2009-04-02T20:17:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/busybox/commit/?id=b7aaae9052025426b669a0edeec1da5997fea8be'/>
<id>urn:sha1:b7aaae9052025426b669a0edeec1da5997fea8be</id>
<content type='text'>
hush_test/hush-arith/*: new tests for arithmetic evaluation

</content>
</entry>
</feed>
