svn commit: r447002 - in branches/2017Q3/finance/libofx: . files

Jason E. Hale jhale at FreeBSD.org
Mon Jul 31 22:09:34 UTC 2017


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);


More information about the svn-ports-all mailing list