From 0722695cc089ec4d8d13eb377514132d0e23d86c Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 13 Sep 2011 11:39:13 +0200 Subject: [PATCH] vbscript: Added interp_jmp_false implementation. --- dlls/vbscript/interp.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c index e444016a392..d768aab9447 100644 --- a/dlls/vbscript/interp.c +++ b/dlls/vbscript/interp.c @@ -384,8 +384,24 @@ static HRESULT interp_jmp(exec_ctx_t *ctx) static HRESULT interp_jmp_false(exec_ctx_t *ctx) { - FIXME("\n"); - return E_NOTIMPL; + const unsigned arg = ctx->instr->arg1.uint; + variant_val_t val; + HRESULT hres; + + TRACE("%u\n", arg); + + hres = stack_pop_val(ctx, &val); + if(V_VT(val.v) != VT_BOOL) { + FIXME("unsupported for %s\n", debugstr_variant(val.v)); + release_val(&val); + return E_NOTIMPL; + } + + if(V_BOOL(val.v)) + ctx->instr++; + else + instr_jmp(ctx, ctx->instr->arg1.uint); + return S_OK; } static HRESULT interp_ret(exec_ctx_t *ctx)