Module: wine Branch: master Commit: 18e7e07a77a754c4b48c6c9bde225ad5c7295944 URL: https://source.winehq.org/git/wine.git/?a=commit;h=18e7e07a77a754c4b48c6c9bd...
Author: Dmitry Kislyuk dimaki@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@rocketmail.com Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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