All pastes #1014498 Raw Edit

Linux DST fix

public diff v1 · immutable
#1014498 ·published 2008-05-11 06:50 UTC
rendered paste body
Index: xbmc/linux/LinuxTimezone.h===================================================================--- xbmc/linux/LinuxTimezone.h	(revision 12935)+++ xbmc/linux/LinuxTimezone.h	(working copy)@@ -16,7 +16,7 @@    CStdString GetCountryByTimezone(const CStdString timezone);     void SetTimezone(CStdString timezone);-   +   int isDST;    private:    std::vector<CStdString> m_counties;    std::map<CStdString, CStdString> m_countryByCode;Index: xbmc/linux/XTimeUtils.cpp===================================================================--- xbmc/linux/XTimeUtils.cpp	(revision 12935)+++ xbmc/linux/XTimeUtils.cpp	(working copy)@@ -1,4 +1,5 @@ #include "system.h"+#include "LinuxTimezone.h" #include "XTimeUtils.h" #include "../utils/log.h" #include <errno.h>@@ -51,6 +52,7 @@   sysTime->wMinute = now->tm_min;   sysTime->wSecond = now->tm_sec;   sysTime->wMilliseconds = 0;+  g_timezone.isDST = now->tm_isdst; }  DWORD GetTickCount(void) @@ -133,7 +135,7 @@   sysTime.tm_min = lpSystemTime->wMinute;   sysTime.tm_sec = lpSystemTime->wSecond;   sysTime.tm_yday = dayoffset[sysTime.tm_mon] + (sysTime.tm_mday - 1);-  sysTime.tm_isdst = 0;+  sysTime.tm_isdst = g_timezone.isDST;      // If this is a leap year, and we're past the 28th of Feb, increment tm_yday.   if (IsLeapYear(lpSystemTime->wYear) && (sysTime.tm_yday > 58))Index: xbmc/linux/LinuxTimezone.cpp===================================================================--- xbmc/linux/LinuxTimezone.cpp	(revision 12935)+++ xbmc/linux/LinuxTimezone.cpp	(working copy)@@ -13,7 +13,7 @@    size_t linelen;    CStdString s;    vector<CStdString> tokens;-+   isDST = 0;    // Load timezones     FILE* fp = fopen("/usr/share/zoneinfo/zone.tab", "r");    if (fp)