Procházet zdrojové kódy

LibCore: Set tm_isdst to a negative value before invoking mktime

If it is default-initialized to 0, mktime will assume that DST is not in
effect for the specified time. Setting it to a negative value instructs
mktime to determine for itself whether DST is in effect.
Timothy Flynn před 2 roky
rodič
revize
8a27180fb8
1 změnil soubory, kde provedl 3 přidání a 0 odebrání
  1. 3 0
      Userland/Libraries/LibCore/DateTime.cpp

+ 3 - 0
Userland/Libraries/LibCore/DateTime.cpp

@@ -280,7 +280,9 @@ Optional<DateTime> DateTime::parse(StringView format, DeprecatedString const& st
 {
     unsigned format_pos = 0;
     unsigned string_pos = 0;
+
     struct tm tm = {};
+    tm.tm_isdst = -1;
 
     auto parsing_failed = false;
     auto tm_represents_utc_time = false;
@@ -549,4 +551,5 @@ Optional<DateTime> DateTime::parse(StringView format, DeprecatedString const& st
 
     return DateTime::from_timestamp(mktime(&tm));
 }
+
 }