| Index: base/time_win.cc
|
| diff --git a/base/time_win.cc b/base/time_win.cc
|
| index 191b7a779881026f54573e4a00c8658ade9ccc12..5b5a9f978b7ff4113cf7496aa509251028e2045c 100644
|
| --- a/base/time_win.cc
|
| +++ b/base/time_win.cc
|
| @@ -141,10 +141,22 @@ Time Time::NowFromSystemTime() {
|
|
|
| // static
|
| Time Time::FromFileTime(FILETIME ft) {
|
| + if (bit_cast<int64, FILETIME>(ft) == 0)
|
| + return Time();
|
| + if (bit_cast<int64, FILETIME>(ft) == std::numeric_limits<int64>::max())
|
| + return Max();
|
| return Time(FileTimeToMicroseconds(ft));
|
| }
|
|
|
| FILETIME Time::ToFileTime() const {
|
| + if (is_null())
|
| + return bit_cast<FILETIME, int64>(0);
|
| + if (is_max()) {
|
| + FILETIME result;
|
| + result.dwHighDateTime = std::numeric_limits<int>::max();
|
| + result.dwLowDateTime = std::numeric_limits<int>::max();
|
| + return result;
|
| + }
|
| FILETIME utc_ft;
|
| MicrosecondsToFileTime(us_, &utc_ft);
|
| return utc_ft;
|
|
|