From ef24ab7821b277756b217b6625bc0df871cf664a Mon Sep 17 00:00:00 2001 From: antirez Date: Sun, 23 Feb 2025 09:15:34 +0100 Subject: [PATCH] Allow decimals, exponent numbers in expressions. --- expr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/expr.c b/expr.c index 66c51ea91..af69014aa 100644 --- a/expr.c +++ b/expr.c @@ -246,8 +246,10 @@ void exprParseNumber(exprstate *es) { es->current.token_type = EXPR_TOKEN_NUM; char num[64]; int idx = 0; - while(isdigit(es->p[0]) || (idx == 0 && es->p[0] == '-')) { - if (idx >= sizeof(num)-1) { + while(isdigit(es->p[0]) || es->p[0] == '.' || es->p[0] == 'e' || + es->p[0] == 'E' || (idx == 0 && es->p[0] == '-')) + { + if (idx >= (int)sizeof(num)-1) { es->syntax_error++; // Number is too long. break; }