diff --git a/contrib/platform/test/com/sun/jna/platform/win32/Kernel32Test.java b/contrib/platform/test/com/sun/jna/platform/win32/Kernel32Test.java index 6e8e8fa6f0..409a9b11b9 100644 --- a/contrib/platform/test/com/sun/jna/platform/win32/Kernel32Test.java +++ b/contrib/platform/test/com/sun/jna/platform/win32/Kernel32Test.java @@ -391,13 +391,9 @@ public void testGetSystemTimes() { WinBase.FILETIME lpUserTime = new WinBase.FILETIME(); boolean succ = kernel.GetSystemTimes(lpIdleTime, lpKernelTime, lpUserTime); assertTrue(succ); - // WinBase.FILETIME toLong() converts 100-ns since 1/1/1601 to ms since - // 1/1/1970. If this behavior is changed, remove the below conversions - // See https://github.com/java-native-access/jna/issues/546 - long EPOCH_DIFF = 11644473600000L; - long idle = (lpIdleTime.toLong() + EPOCH_DIFF) * 10; - long kernel = (lpKernelTime.toLong() + EPOCH_DIFF) * 10; - long user = (lpUserTime.toLong() + EPOCH_DIFF) * 10; + long idleTime = WinBase.FILETIME.dateToFileTime(lpIdleTime.toDate()); + long kernelTime = WinBase.FILETIME.dateToFileTime(lpKernelTime.toDate()); + long userTime = WinBase.FILETIME.dateToFileTime(lpUserTime.toDate()); // All should be >= 0. kernel includes idle. assertTrue(idle >= 0); assertTrue(kernel >= idle);