mirror of https://github.com/arendst/Tasmota.git
Merge pull request #15912 from s-hadinger/berry_fix_lexer_side_effect
Fix Berry lexer regression
This commit is contained in:
commit
10a9a191ce
|
@ -336,7 +336,11 @@ static btokentype scan_decimal(blexer *lexer)
|
||||||
{
|
{
|
||||||
btokentype type = TokenInteger;
|
btokentype type = TokenInteger;
|
||||||
match(lexer, is_digit);
|
match(lexer, is_digit);
|
||||||
if (decimal_dots(lexer) || scan_realexp(lexer)) {
|
/* decimal_dots() and scan_realexp() have side effect, so we call each explicitly */
|
||||||
|
/* to prevent binary shortcut if the first is true */
|
||||||
|
bbool has_decimal_dots = decimal_dots(lexer);
|
||||||
|
bbool is_realexp = scan_realexp(lexer);
|
||||||
|
if (has_decimal_dots || is_realexp) {
|
||||||
type = TokenReal;
|
type = TokenReal;
|
||||||
}
|
}
|
||||||
lexer->buf.s[lexer->buf.len] = '\0';
|
lexer->buf.s[lexer->buf.len] = '\0';
|
||||||
|
|
Loading…
Reference in New Issue