Piotr Caban <piotr.caban(a)gmail.com> writes:
+ FILETIME ft_now, ft_epoch; + SYSTEMTIME st_epoch; + DOUBLE time_now, time_epoch; + + memset(&st_epoch, 0, sizeof(SYSTEMTIME)); + st_epoch.wYear = 1970; + st_epoch.wMonth = 1; + st_epoch.wDay = 1; + SystemTimeToFileTime(&st_epoch, &ft_epoch); + + GetSystemTimeAsFileTime(&ft_now);
- GetSystemTimeAsFileTime(&time); + time_now = (DOUBLE)ft_now.dwHighDateTime/10000*UINT_MAX + + (DOUBLE)ft_now.dwLowDateTime/10000; + time_epoch = (DOUBLE)ft_epoch.dwHighDateTime/10000*UINT_MAX + + (DOUBLE)ft_epoch.dwLowDateTime/10000;
This is not correct, you need a <<32. Also there's no reason to use doubles for the computation, and you shouldn't have to use SystemTimeToFileTime for the epoch, it can be a constant. -- Alexandre Julliard julliard(a)winehq.org