Commit fcc9b717 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

vbscript: Add Day function implementation.

parent b84a4aa5
......@@ -198,6 +198,19 @@ static HRESULT to_string(VARIANT *v, BSTR *ret)
return S_OK;
}
static HRESULT to_system_time(VARIANT *v, SYSTEMTIME *st)
{
VARIANT date;
HRESULT hres;
V_VT(&date) = VT_EMPTY;
hres = VariantChangeType(&date, v, 0, VT_DATE);
if(FAILED(hres))
return hres;
return VariantTimeToSystemTime(V_DATE(&date), st);
}
static HRESULT set_object_site(script_ctx_t *ctx, IUnknown *obj)
{
IObjectWithSite *obj_site;
......@@ -1596,8 +1609,13 @@ static HRESULT Global_Time(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARI
static HRESULT Global_Day(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
{
FIXME("\n");
return E_NOTIMPL;
SYSTEMTIME st;
HRESULT hres;
TRACE("(%s)\n", debugstr_variant(arg));
hres = to_system_time(arg, &st);
return FAILED(hres) ? hres : return_short(res, st.wDay);
}
static HRESULT Global_Month(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
......
......@@ -1442,6 +1442,9 @@ Call ok(getVT(Log(CByte(2))) = "VT_R8", "getVT(Log(CByte(2))) = " & getVT(Log(CB
Call ok(getVT(Date) = "VT_DATE", "getVT(Date) = " & getVT(Date))
Call ok(getVT(Time) = "VT_DATE", "getVT(Time) = " & getVT(Time))
Call ok(getVT(Day(now)) = "VT_I2", "getVT(Day(now)) = " & getVT(Day(now)))
Call ok(Day(2) = 1, "Day(time) = " & Day(2))
Sub testRGBError(arg1, arg2, arg3, error_num)
on error resume next
Dim x
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment