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