https://bugs.winehq.org/show_bug.cgi?id=53962
Bug ID: 53962 Summary: vbscript does not Eval implemented Product: Wine Version: 7.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: vbscript Assignee: wine-bugs@winehq.org Reporter: jsm174@gmail.com Distribution: ---
Some of the scripts I'm running into uses eval.
I'm sure this is not complete, but this seems to work:
static HRESULT Global_Eval(BuiltinDisp *This, VARIANT *arg, unsigned args_cnt, VARIANT *res) { vbscode_t *code; HRESULT hres = compile_script(This->ctx, V_BSTR(arg), 0, 0, 0, 0, SCRIPTTEXT_ISEXPRESSION, &code);
if (SUCCEEDED(hres)) hres = exec_global_code(This->ctx, code, res);
return hres; }
Should I work on a MR?
FWIW, an alternate version works for ExecuteGlobal:
static HRESULT Global_ExecuteGlobal(BuiltinDisp *This, VARIANT *arg, unsigned args_cnt, VARIANT *res) { vbscode_t *code; HRESULT hres = compile_script(This->ctx, V_BSTR(arg), 0, 0, 0, 0, SCRIPTTEXT_ISVISIBLE, &code);
if (SUCCEEDED(hres)) hres = exec_global_code(This->ctx, code, res);
return hres; }