From e584edd379f798a37c7c4a87eb8ffbc2660f1e4b Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Thu, 15 Jan 2015 09:26:26 +0300 Subject: [PATCH] vbscript: Support 'End If' for single line If statements. --- dlls/vbscript/parser.y | 6 +++--- dlls/vbscript/tests/lang.vbs | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dlls/vbscript/parser.y b/dlls/vbscript/parser.y index 681a0c96e4..fb95dfbbf8 100644 --- a/dlls/vbscript/parser.y +++ b/dlls/vbscript/parser.y @@ -246,10 +246,10 @@ Step_opt IfStatement : tIF Expression tTHEN tNL StatementsNl_opt ElseIfs_opt Else_opt tEND tIF - { $$ = new_if_statement(ctx, $2, $5, $6, $7); CHECK_ERROR; } - | tIF Expression tTHEN Statement { $$ = new_if_statement(ctx, $2, $4, NULL, NULL); CHECK_ERROR; } + { $$ = new_if_statement(ctx, $2, $5, $6, $7); CHECK_ERROR; } + | tIF Expression tTHEN Statement EndIf_opt { $$ = new_if_statement(ctx, $2, $4, NULL, NULL); CHECK_ERROR; } | tIF Expression tTHEN Statement tELSE Statement EndIf_opt - { $$ = new_if_statement(ctx, $2, $4, NULL, $6); CHECK_ERROR; } + { $$ = new_if_statement(ctx, $2, $4, NULL, $6); CHECK_ERROR; } EndIf_opt : /* empty */ diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs index 3ee445c8d4..b23b70982a 100644 --- a/dlls/vbscript/tests/lang.vbs +++ b/dlls/vbscript/tests/lang.vbs @@ -234,6 +234,7 @@ if false then : if false then x = y : if true then call ok(false, "embedded if called") if false then x=1 else x=2 end if +if true then x=1 end if x = false if false then x = true : x = true