Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
---
dlls/vbscript/global.c | 43 ++++++++++++++++++++++++++++++++++++++++---
dlls/vbscript/tests/api.vbs | 15 +++++++++++++++
2 files changed, 55 insertions(+), 3 deletions(-)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index 129d6ce..a872838 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -1027,10 +1027,47 @@ static HRESULT Global_MidB(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARI
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;
+
+ TRACE("(%s %s ...)\n", debugstr_variant(args), debugstr_variant(args+1));
+
+ assert(args_cnt == 2 || args_cnt == 3);
+
+ if(V_VT(args) != VT_BSTR || V_VT(args+1) != VT_BSTR) {
+ FIXME("args[0] = %s, args[1] = %s\n", debugstr_variant(args), debugstr_variant(args+1));
+ return E_NOTIMPL;
+ }
+
+ if (args_cnt == 3) {
+ hres = to_int(args+2, &mode);