< prev index next >

make/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java

Print this page

        

*** 716,726 **** stdOffset), stdOffset, stdOffsetNew)); stdOffset = stdOffsetNew; } - LocalDateTime zoneEnd; if (zone.year == Year.MAX_VALUE) { zoneEnd = LocalDateTime.MAX; } else { zoneEnd = zone.toDateTime(); --- 716,725 ----
*** 732,741 **** --- 731,741 ---- // calculate effective savings at the start of the window List<TransRule> trules = null; List<TransRule> lastRules = null; int effectiveSavings = zone.fixedSavingsSecs; + if (zone.savingsRule != null) { List<RuleLine> tzdbRules = rules.get(zone.savingsRule); if (tzdbRules == null) { throw new IllegalArgumentException("<Rule> not found: " + zone.savingsRule);
*** 756,767 **** int endYear = rule.endYear; if (zoneEnd.equals(LocalDateTime.MAX)) { if (endYear == Year.MAX_VALUE) { endYear = startYear; lastRules.add(new TransRule(endYear, rule)); - lastRulesStartYear = Math.max(startYear, lastRulesStartYear); } } else { if (endYear == Year.MAX_VALUE) { //endYear = zoneEnd.getYear(); endYear = zone.year; } --- 756,768 ---- int endYear = rule.endYear; if (zoneEnd.equals(LocalDateTime.MAX)) { if (endYear == Year.MAX_VALUE) { endYear = startYear; lastRules.add(new TransRule(endYear, rule)); } + lastRulesStartYear = Math.max(startYear, lastRulesStartYear); + } else { if (endYear == Year.MAX_VALUE) { //endYear = zoneEnd.getYear(); endYear = zone.year; }
< prev index next >