return E_NOTIMPL;
}
-static HRESULT Global_StrComp(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
+static HRESULT Global_StrComp(vbdisp_t *This, VARIANT *args, unsigned args_cnt, VARIANT *res)
{
- FIXME("\n");
- return E_NOTIMPL;
+ BSTR left, right;
+ int mode, ret;
+ HRESULT hres;
+ short val;
+
+ TRACE("(%s %s ...)\n", debugstr_variant(args), debugstr_variant(args+1));
+
+ assert(args_cnt == 2 || args_cnt == 3);
+
+ if (args_cnt == 3) {
+ hres = to_int(args+2, &mode);
+ if(FAILED(hres))
+ return hres;
+
+ if (mode != 0 && mode != 1) {
+ FIXME("unknown compare mode = %d\n", mode);
+ return E_FAIL;
+ }
+ }
+ else
+ mode = 0;
+
+ hres = to_string(args, &left);
+ if(FAILED(hres))
+ return hres;
+
+ hres = to_string(args+1, &right);
+ if(FAILED(hres))
+ {
+ SysFreeString(left);
+ return hres;
+ }
+
+ ret = mode ? strcmpiW(left, right) : strcmpW(left, right);
+ val = ret < 0 ? -1 : (ret > 0 ? 1 : 0);
+
+ SysFreeString(left);
+ SysFreeString(right);
+ return return_short(res, val);
}
static HRESULT Global_LCase(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
if(!item->disp) {
IUnknown *unk;
- hres = IActiveScriptSite_GetItemInfo(ctx->script->site, name, SCRIPTINFO_IUNKNOWN, &unk, NULL);
+ hres = IActiveScriptSite_GetItemInfo(ctx->script->site, item->name, SCRIPTINFO_IUNKNOWN, &unk, NULL);
if(FAILED(hres)) {
WARN("GetItemInfo failed: %08x\n", hres);
continue;
reactos/dll/win32/urlmon # Synced to WineStaging-1.9.23
reactos/dll/win32/usp10 # Synced to WineStaging-1.9.23
reactos/dll/win32/uxtheme # Forked
-reactos/dll/win32/vbscript # Synced to WineStaging-1.9.11
+reactos/dll/win32/vbscript # Synced to WineStaging-1.9.23
reactos/dll/win32/version # Synced to WineStaging-1.9.11
reactos/dll/win32/vssapi # Synced to WineStaging-1.9.11
reactos/dll/win32/wbemdisp # Synced to WineStaging-1.9.16