bc: for(;;) fix from upstream
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
047154472a
commit
52caa007e3
@ -4205,8 +4205,14 @@ static BC_STATUS zbc_parse_for(BcParse *p)
|
||||
|
||||
if (p->l.t.t != BC_LEX_SCOLON)
|
||||
s = zbc_parse_expr(p, BC_PARSE_REL);
|
||||
else
|
||||
else {
|
||||
// Set this for the next call to bc_parse_number.
|
||||
// This is safe to set because the current token is a semicolon,
|
||||
// which has no string requirement.
|
||||
bc_vec_string(&p->l.t.v, 1, "1");
|
||||
bc_parse_pushNUM(p);
|
||||
s = bc_POSIX_does_not_allow_empty_X_expression_in_for("condition");
|
||||
}
|
||||
|
||||
if (s) RETURN_STATUS(s);
|
||||
if (p->l.t.t != BC_LEX_SCOLON) RETURN_STATUS(bc_error_bad_token());
|
||||
|
@ -51,6 +51,11 @@ testing "bc if 0 else if 1" \
|
||||
"2\n9\n" \
|
||||
"" "if (0) 1 else if (1) 2; 9"
|
||||
|
||||
testing "bc for(;;)" \
|
||||
"bc" \
|
||||
"2\n3\n2\n9\n" \
|
||||
"" "i=2; for (;;) { 2; if(--i==0) break; 3; }; 9"
|
||||
|
||||
testing "bc define auto" \
|
||||
"bc" \
|
||||
"8\n9\n" \
|
||||
|
Loading…
Reference in New Issue
Block a user