gnucash maint: Bug 769124 - Australian (GMT-10) OFX transactions imported have previous
John Ralls
jralls at code.gnucash.org
Sun Oct 23 20:29:56 EDT 2016
Updated via https://github.com/Gnucash/gnucash/commit/5fcdfba6 (commit)
from https://github.com/Gnucash/gnucash/commit/6695ef95 (commit)
commit 5fcdfba69c9a630767d56db45a52c0087ba2c594
Author: John Ralls <jralls at ceridwen.us>
Date: Mon Oct 24 11:21:12 2016 +1100
Bug 769124 - Australian (GMT-10) OFX transactions imported have previous
day's date. Previous efforts didn't work on Windows and shouldn't have
elsewhere because gnc_localtime and gnc_mktime are inverse functions;
in particular gnc_mktime doesn't adjust the time based on the value
of tm_isdst, though some implementations of STDC mktime do.
Rather than being too clever about trying to find the DST offset this
implementation just uses 1 hour.
diff --git a/src/import-export/ofx/gnc-ofx-import.c b/src/import-export/ofx/gnc-ofx-import.c
index 4f84cb2..da6a479 100644
--- a/src/import-export/ofx/gnc-ofx-import.c
+++ b/src/import-export/ofx/gnc-ofx-import.c
@@ -337,13 +337,8 @@ fix_ofx_bug_39 (time64 t)
#if HAVE_OFX_BUG_39
struct tm stm;
gnc_localtime_r(&t, &stm);
- if (!stm.tm_isdst)
- {
- time64 new_t;
- stm.tm_isdst = 1;
- new_t = gnc_mktime(&stm);
- t += t - new_t;
- }
+ if (daylight && !stm.tm_isdst)
+ t += 3600;
#endif
return t;
}
Summary of changes:
src/import-export/ofx/gnc-ofx-import.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
More information about the gnucash-changes
mailing list