Fix Daylight Saving Time (DST) detection. Previous patch was erroneously
dectecting whether DST is currently in effect for the timezone (TZ) in use instead of emulating the glibc global daylight variable which is set to 0 if DST conversions should never be applied for the TZ in use; otherwise non-zero. PR: 220665 Submitted by: madpilot MFH: 2017Q3
This commit is contained in:
parent
22d357186f
commit
c87cf5e2f2
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=446957
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= libofx
|
||||
PORTVERSION= 0.9.11
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= finance
|
||||
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}
|
||||
|
||||
|
@ -1,18 +1,14 @@
|
||||
--- lib/ofx_utilities.cpp.orig 2013-04-16 19:50:51 UTC
|
||||
+++ lib/ofx_utilities.cpp
|
||||
@@ -115,9 +115,14 @@ time_t ofxdate_to_time_t(const string of
|
||||
@@ -115,6 +115,11 @@ time_t ofxdate_to_time_t(const string ofxdate)
|
||||
char time_zone_specified = false;
|
||||
string ofxdate_whole;
|
||||
time_t temptime;
|
||||
+ int daylight;
|
||||
+ const struct tm* t;
|
||||
+
|
||||
+ std::time(&temptime);
|
||||
+ t = localtime(&temptime);
|
||||
+ daylight = t->tm_isdst;
|
||||
+ int daylight = 0;
|
||||
+
|
||||
+ tzset();
|
||||
+ if(tzname[1][0] != ' ')
|
||||
+ daylight = 1;
|
||||
|
||||
time.tm_isdst = daylight; // initialize dst setting
|
||||
- std::time(&temptime);
|
||||
local_offset = difftime(mktime(localtime(&temptime)), mktime(gmtime(&temptime))) + (3600 * daylight);
|
||||
|
||||
if (ofxdate.size() != 0)
|
||||
std::time(&temptime);
|
||||
|
Loading…
Reference in New Issue
Block a user