Module: wine Branch: master Commit: 0131a9c47b6ceb36a03171661a50005569836c28 URL: https://source.winehq.org/git/wine.git/?a=commit;h=0131a9c47b6ceb36a03171661...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Aug 26 17:04:32 2019 +0200
vbscript: Suport + sign in exponential literals.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/vbscript/lex.c | 5 ++++- dlls/vbscript/tests/lang.vbs | 1 + 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/vbscript/lex.c b/dlls/vbscript/lex.c index c628934..4bcf810 100644 --- a/dlls/vbscript/lex.c +++ b/dlls/vbscript/lex.c @@ -302,9 +302,12 @@ static int parse_numeric_literal(parser_ctx_t *ctx, void **ret) if(*ctx->ptr == 'e' || *ctx->ptr == 'E') { int e = 0, sign = 1;
- if(*++ctx->ptr == '-') { + ctx->ptr++; + if(*ctx->ptr == '-') { ctx->ptr++; sign = -1; + }else if(*ctx->ptr == '+') { + ctx->ptr++; }
if(!iswdigit(*ctx->ptr)) { diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs index 49c673a..6b45865 100644 --- a/dlls/vbscript/tests/lang.vbs +++ b/dlls/vbscript/tests/lang.vbs @@ -41,6 +41,7 @@ Call ok(10. = 10, "10. <> 10") Call ok(&hffFFffFF& = -1, "&hffFFffFF& <> -1") Call ok(&hffFFffFF& = -1, "&hffFFffFF& <> -1") Call ok(34e5 = 3400000, "34e5 <> 3400000") +Call ok(34e+5 = 3400000, "34e+5 <> 3400000") Call ok(56.789e5 = 5678900, "56.789e5 = 5678900") Call ok(56.789e-2 = 0.56789, "56.789e-2 <> 0.56789") Call ok(1e-94938484 = 0, "1e-... <> 0")