Module: wine Branch: master Commit: 9183e5847d53994e78067e01fbf3d26d1e71033c URL: http://source.winehq.org/git/wine.git/?a=commit;h=9183e5847d53994e78067e01fb...
Author: Piotr Caban piotr@codeweavers.com Date: Fri Mar 21 14:27:47 2014 +0100
msvcp110: Add _Xtime_get_ticks implementation.
---
dlls/msvcp110/msvcp110.spec | 2 +- dlls/msvcp90/misc.c | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index b9d520d..3bdff79 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3891,7 +3891,7 @@ @ stub _Xp_subx @ stub _Xtime_diff_to_millis @ stub _Xtime_diff_to_millis2 -@ stub _Xtime_get_ticks +@ cdecl _Xtime_get_ticks() @ stub __Wcrtomb_lk # extern _Zero @ cdecl towctrans(long long) diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index 185d452..f2ae32f 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -28,6 +28,12 @@ #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(msvcp);
+#define SECSPERDAY 86400 +/* 1601 to 1970 is 369 years plus 89 leap days */ +#define SECS_1601_TO_1970 ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY) +#define TICKSPERSEC 10000000 +#define TICKS_1601_TO_1970 (SECS_1601_TO_1970 * TICKSPERSEC) + struct __Container_proxy;
typedef struct { @@ -343,3 +349,14 @@ void __thiscall _Container_base12__Swap_all( if(that->proxy) that->proxy->cont = that; } + +/* _Xtime_get_ticks */ +LONGLONG __cdecl _Xtime_get_ticks(void) +{ + FILETIME ft; + + TRACE("\n"); + + GetSystemTimeAsFileTime(&ft); + return ((LONGLONG)ft.dwHighDateTime<<32) + ft.dwLowDateTime - TICKS_1601_TO_1970; +}