0efebf168d
The end-of-year checks previously presumed they would accompany a zero daylight-savings change there; however, this misunderstands what a fake transition is doing. A fake at the end of the year means that the transition during the year is out of the time the fake claims it goes into, so the offset nominally in effect after the fake should match the offset the year started in, the same as for a year-start fake. However, implementing that exposed the fact that Bangladesh's brief flirtation with DST in 2009 ended at the end of the year, and MS's data has no other instance (aside from entirely bogusly claiming that Bhutan did the same in 2009) of an end-of-year transition, in particular no fake transitions. So the end-of-year case for faking does not arise and I've eliminated it from the code here. This greatly simplifies the code to detect fake DST rules. At the same time, in the ruleToData() wrapper, use the transition implied by isDst only if it isn't the fake one; the other is the only real transition in the year anyway, however described. Also, extract the detection of start-of-year transition times to a function and make it more exact. Pick-to: 6.3 Change-Id: Ide160d28e7cca37c224f40164ebe7f9a17f028e7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> |
||
---|---|---|
.github/workflows | ||
bin | ||
cmake | ||
coin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
libexec | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
util | ||
.cmake.conf | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.tag | ||
CMakeLists.txt | ||
conanfile.py | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.cmake | ||
dependencies.yaml | ||
LICENSE.FDL | ||
LICENSE.GPL2 | ||
LICENSE.GPL3 | ||
LICENSE.GPL3-EXCEPT | ||
LICENSE.LGPL3 | ||
LICENSE.QT-LICENSE-AGREEMENT | ||
qt_cmdline.cmake | ||
sync.profile |