Date: Mon, 31 Jul 2017 22:09:32 +0000 (UTC) From: "Jason E. Hale" <jhale@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r447002 - in branches/2017Q3/finance/libofx: . files Message-ID: <201707312209.v6VM9WVD064706@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhale Date: Mon Jul 31 22:09:32 2017 New Revision: 447002 URL: https://svnweb.freebsd.org/changeset/ports/447002 Log: MFH: r446957 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 Approved by: ports-secteam (zi) Modified: branches/2017Q3/finance/libofx/Makefile branches/2017Q3/finance/libofx/files/patch-lib_ofx__utilities.cpp Directory Properties: branches/2017Q3/ (props changed) Modified: branches/2017Q3/finance/libofx/Makefile ============================================================================== --- branches/2017Q3/finance/libofx/Makefile Mon Jul 31 22:03:45 2017 (r447001) +++ branches/2017Q3/finance/libofx/Makefile Mon Jul 31 22:09:32 2017 (r447002) @@ -3,6 +3,7 @@ PORTNAME= libofx PORTVERSION= 0.9.11 +PORTREVISION= 1 CATEGORIES= finance MASTER_SITES= SF/${PORTNAME}/${PORTNAME} Modified: branches/2017Q3/finance/libofx/files/patch-lib_ofx__utilities.cpp ============================================================================== --- branches/2017Q3/finance/libofx/files/patch-lib_ofx__utilities.cpp Mon Jul 31 22:03:45 2017 (r447001) +++ branches/2017Q3/finance/libofx/files/patch-lib_ofx__utilities.cpp Mon Jul 31 22:09:32 2017 (r447002) @@ -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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707312209.v6VM9WVD064706>