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.