Jacek Caban : vbscript: Suport + sign in exponential literals.
Alexandre Julliard
julliard at winehq.org
Mon Aug 26 15:47:28 CDT 2019
Module: wine
Branch: master
Commit: 0131a9c47b6ceb36a03171661a50005569836c28
URL: https://source.winehq.org/git/wine.git/?a=commit;h=0131a9c47b6ceb36a03171661a50005569836c28
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Aug 26 17:04:32 2019 +0200
vbscript: Suport + sign in exponential literals.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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")
More information about the wine-cvs
mailing list