From ae25bee6adbe184e73d8478f857c923143f1aa96 Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Wed, 17 Jan 2018 16:17:47 +0100
Subject: [PATCH] fix

---
 common/cpp/src/system_io_windows.cpp | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/common/cpp/src/system_io_windows.cpp b/common/cpp/src/system_io_windows.cpp
index 7e43338a8..1c29cddbf 100644
--- a/common/cpp/src/system_io_windows.cpp
+++ b/common/cpp/src/system_io_windows.cpp
@@ -32,7 +32,7 @@ IOErrors IOErrorFromGetLastError() {
     return err;
 }
 
-IOErrors CheckFileTime(const FILETIME& ft){
+IOErrors CheckFileTime(const FILETIME& ft) {
     SYSTEMTIME st = {0};
     if (!FileTimeToSystemTime(&ft, &st)) {
         return IOErrorFromGetLastError();
@@ -43,20 +43,20 @@ IOErrors CheckFileTime(const FILETIME& ft){
 constexpr auto kShift = 11644473600ULL;
 constexpr auto k100nsInSec = 10000000ULL;
 
-unit64_t GetLinuxEpochSecFromWindowsEpoch(ULARGE_INTEGER ull){
+uint64_t GetLinuxEpochSecFromWindowsEpoch(ULARGE_INTEGER ull) {
 //    ull.QuadPart is amount of 100ns intervals since Windows Epoch
-    return ull.QuadPart / k100nsInSec - kShift;
+    return (uint64_t) ull.QuadPart / k100nsInSec - kShift;
 }
 
-unit64_t GetLinuxNanosecFromWindowsEpoch(ULARGE_INTEGER ull){
-    return (ull.QuadPart % k100nsInSec)*100;
+uint64_t GetLinuxNanosecFromWindowsEpoch(ULARGE_INTEGER ull) {
+    return (uint64_t)(ull.QuadPart % k100nsInSec) * 100;
 }
 
 std::chrono::system_clock::time_point FileTime2TimePoint(const FILETIME& ft, IOErrors* err) {
 
-    auto err = CheckFileTime(ft);
-    if (err != IOErrors::kNoError){
-        return err;
+    *err = CheckFileTime(ft);
+    if (*err != IOErrors::kNoError) {
+        return std::chrono::system_clock::time_point{};
     }
 
     // number of seconds
@@ -65,13 +65,13 @@ std::chrono::system_clock::time_point FileTime2TimePoint(const FILETIME& ft, IOE
     ull.HighPart = ft.dwHighDateTime;
 
     auto sec = GetLinuxEpochSecFromWindowsEpoch(ull);
-    auto nsec = GetLinuxEpochNanosecFromWindowsEpoch(ull);
+    auto nsec = GetLinuxNanosecFromWindowsEpoch(ull);
 
     std::chrono::nanoseconds d = std::chrono::nanoseconds {nsec} +
-        std::chrono::seconds{sec};
+                                 std::chrono::seconds{sec};
 
     auto tp = system_clock::time_point
-        {std::chrono::duration_cast<std::chrono::system_clock::duration>(d)};
+    {std::chrono::duration_cast<std::chrono::system_clock::duration>(d)};
 
     *err = IOErrors::kNoError;
     return tp;
-- 
GitLab