Dmitry Kislyuk : vbscript: Parse empty CASE ELSE clause.

Alexandre Julliard julliard at winehq.org
Thu Jun 25 16:14:25 CDT 2020


Module: wine
Branch: master
Commit: 18e7e07a77a754c4b48c6c9bde225ad5c7295944
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=18e7e07a77a754c4b48c6c9bde225ad5c7295944

Author: Dmitry Kislyuk <dimaki at rocketmail.com>
Date:   Thu Jun 25 00:50:46 2020 -0500

vbscript: Parse empty CASE ELSE clause.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49439
Signed-off-by: Dmitry Kislyuk <dimaki at rocketmail.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/vbscript/parser.y       | 2 +-
 dlls/vbscript/tests/lang.vbs | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/dlls/vbscript/parser.y b/dlls/vbscript/parser.y
index 5c18af13d4..71bea72b1b 100644
--- a/dlls/vbscript/parser.y
+++ b/dlls/vbscript/parser.y
@@ -301,7 +301,7 @@ Else_opt
 
 CaseClausules
     : /* empty */                          { $$ = NULL; }
-    | tCASE tELSE StSep StatementsNl       { $$ = new_case_clausule(ctx, NULL, $4, NULL); }
+    | tCASE tELSE StSep StatementsNl_opt   { $$ = new_case_clausule(ctx, NULL, $4, NULL); }
     | tCASE ExpressionList StSep StatementsNl_opt CaseClausules
                                            { $$ = new_case_clausule(ctx, $2, $4, $5); }
 
diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs
index c50b8bbe59..94e2bbd436 100644
--- a/dlls/vbscript/tests/lang.vbs
+++ b/dlls/vbscript/tests/lang.vbs
@@ -681,6 +681,14 @@ select case 1  :
 end select
 Call ok(x, "wrong case")
 
+select case 0
+    case 1
+    case else
+       'empty else with comment test
+end select
+
+select case 0 : case 1 : case else : end select
+
 if false then
 Sub testsub
     x = true




More information about the wine-cvs mailing list