Jacek Caban : vbscript: Better stub for interp_errmode.

Alexandre Julliard julliard at winehq.org
Thu Sep 22 13:39:48 CDT 2011


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Sep 22 14:26:25 2011 +0200

vbscript: Better stub for interp_errmode.

---

 dlls/vbscript/interp.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c
index 678b51a..08bf710 100644
--- a/dlls/vbscript/interp.c
+++ b/dlls/vbscript/interp.c
@@ -37,6 +37,8 @@ typedef struct {
     dynamic_var_t *dynamic_vars;
     vbsheap_t heap;
 
+    BOOL resume_next;
+
     unsigned stack_size;
     unsigned top;
     VARIANT *stack;
@@ -891,8 +893,11 @@ static HRESULT interp_bool(exec_ctx_t *ctx)
 static HRESULT interp_errmode(exec_ctx_t *ctx)
 {
     const int err_mode = ctx->instr->arg1.uint;
-    FIXME("%d\n", err_mode);
-    return E_NOTIMPL;
+
+    TRACE("%d\n", err_mode);
+
+    ctx->resume_next = err_mode;
+    return S_OK;
 }
 
 static HRESULT interp_string(exec_ctx_t *ctx)
@@ -1659,7 +1664,10 @@ HRESULT exec_script(script_ctx_t *ctx, function_t *func, IDispatch *this_obj, DI
         op = exec.instr->op;
         hres = op_funcs[op](&exec);
         if(FAILED(hres)) {
-            FIXME("Failed %08x\n", hres);
+            if(exec.resume_next)
+                FIXME("Failed %08x in resume next mode\n", hres);
+            else
+                WARN("Failed %08x\n", hres);
             stack_popn(&exec, exec.top);
             break;
         }




More information about the wine-cvs mailing list