Browse Source

Kernel: Minor tweak to now() computation

Make sure the expression is evaluated as time_t so that it does
the right thing after 2037, and factor things so that the constants
look less magical.
Nico Weber 4 years ago
parent
commit
4dfe97f9ae
1 changed files with 2 additions and 5 deletions
  1. 2 5
      Kernel/RTC.cpp

+ 2 - 5
Kernel/RTC.cpp

@@ -104,11 +104,8 @@ time_t now()
 
 
     ASSERT(year >= 2018);
     ASSERT(year >= 2018);
 
 
-    return years_to_days_since_epoch(year) * 86400
-        + day_of_year(year, month, day) * 86400
-        + hour * 3600
-        + minute * 60
-        + second;
+    time_t days_since_epoch = years_to_days_since_epoch(year) + day_of_year(year, month, day);
+    return ((days_since_epoch * 24 + hour) * 60 + minute) * 60 + second;
 }
 }
 
 
 }
 }