summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/winutil.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-06-26 22:27:47 +1000
committer Vas Crabb <vas@vastheman.com>2016-06-26 22:44:21 +1000
commit923151d00bb92f5c11d24fecf643f4af8f0c2114 (patch)
tree64e7b7f7576ffc4d037f37cc5a559b6fdef1d5bb /src/osd/windows/winutil.cpp
parent78df22b1067a7ff9fdd91bcb54f0d16939a849d4 (diff)
parent5009b55430ba99295c0d7a31b336c61795f6cec3 (diff)
Fixed incorrect implementation of win_time_point_from_filetime()
Diffstat (limited to 'src/osd/windows/winutil.cpp')
-rw-r--r--src/osd/windows/winutil.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/osd/windows/winutil.cpp b/src/osd/windows/winutil.cpp
index 3ec2314068e..23354bf0140 100644
--- a/src/osd/windows/winutil.cpp
+++ b/src/osd/windows/winutil.cpp
@@ -17,6 +17,7 @@
// MAMEOS headers
#include "winutil.h"
#include "strconv.h"
+#include "timeconv.h"
//============================================================
@@ -41,8 +42,8 @@ osd::directory::entry::entry_type win_attributes_to_entry_type(DWORD attributes)
std::chrono::system_clock::time_point win_time_point_from_filetime(LPFILETIME file_time)
{
- return std::chrono::system_clock::time_point(std::chrono::system_clock::duration(
- (static_cast<__int64>(file_time->dwHighDateTime) << 32) | file_time->dwLowDateTime));
+ auto converted_file_time = util::ntfs_duration_from_filetime(file_time->dwHighDateTime, file_time->dwLowDateTime);
+ return util::system_clock_time_point_from_ntfs_duration(converted_file_time);
}