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