Nikolay Sivov nsivov@codeweavers.com wrote:
-static HRESULT Global_DateSerial(BuiltinDisp *This, VARIANT *arg, unsigned args_cnt, VARIANT *res) +static HRESULT Global_DateSerial(BuiltinDisp *This, VARIANT *args, unsigned args_cnt, VARIANT *res) {
- FIXME("\n");
- return E_NOTIMPL;
- int year, month, day;
- SYSTEMTIME lt;
- HRESULT hres;
- double date;
- UDATE ud;
- TRACE("\n");
- assert(args_cnt == 3);
- hres = to_int(args, &year);
- if (SUCCEEDED(hres))
hres = to_int(args + 1, &month);- if (SUCCEEDED(hres))
hres = to_int(args + 2, &day);- if (SUCCEEDED(hres))
- {
lt.wYear = year;lt.wMonth = month;lt.wDay = day;ud.st = lt;ud.wDayOfYear = 0;hres = VarDateFromUdateEx(&ud, 0, 0, &date);- }
Having 'lt' as an intermediate variable seems to be redundant. Also ud.st is not fully initialized unlike in 2/2.