mirror of
https://github.com/reactos/wine.git
synced 2024-11-26 13:10:28 +00:00
vbscript: Added Len implementation.
This commit is contained in:
parent
20b2d057d2
commit
3fa7860145
@ -468,8 +468,28 @@ static HRESULT Global_RGB(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIA
|
||||
|
||||
static HRESULT Global_Len(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
|
||||
{
|
||||
FIXME("\n");
|
||||
return E_NOTIMPL;
|
||||
DWORD len;
|
||||
HRESULT hres;
|
||||
|
||||
TRACE("%s\n", debugstr_variant(arg));
|
||||
|
||||
if(V_VT(arg) == VT_NULL)
|
||||
return return_null(res);
|
||||
|
||||
if(V_VT(arg) != VT_BSTR) {
|
||||
BSTR str;
|
||||
|
||||
hres = to_string(arg, &str);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
len = SysStringLen(str);
|
||||
SysFreeString(str);
|
||||
}else {
|
||||
len = SysStringLen(V_BSTR(arg));
|
||||
}
|
||||
|
||||
return return_int(res, len);
|
||||
}
|
||||
|
||||
static HRESULT Global_LenB(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
|
||||
|
@ -173,4 +173,10 @@ TestLCase 0.123, doubleAsString(0.123)
|
||||
TestLCase Empty, ""
|
||||
Call ok(getVT(LCase(Null)) = "VT_NULL", "getVT(LCase(Null)) = " & getVT(LCase(Null)))
|
||||
|
||||
Call ok(Len("abc") = 3, "Len(abc) = " & Len("abc"))
|
||||
Call ok(Len("") = 0, "Len() = " & Len(""))
|
||||
Call ok(Len(1) = 1, "Len(1) = " & Len(1))
|
||||
Call ok(isNull(Len(null)), "Len(null) = " & Len(null))
|
||||
Call ok(Len(empty) = 0, "Len(empty) = " & Len(empty))
|
||||
|
||||
Call reportSuccess()
|
||||
|
Loading…
Reference in New Issue
Block a user