Jacek Caban : vbscript: Added interp_jmp_false implementation.

Alexandre Julliard julliard at winehq.org
Tue Sep 13 12:18:10 CDT 2011


Module: wine
Branch: master
Commit: 0722695cc089ec4d8d13eb377514132d0e23d86c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0722695cc089ec4d8d13eb377514132d0e23d86c

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Sep 13 11:39:13 2011 +0200

vbscript: Added interp_jmp_false implementation.

---

 dlls/vbscript/interp.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c
index e444016..d768aab 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)




More information about the wine-cvs mailing list