8051641: Africa/Casablanca transitions is incorrectly calculated starting from 2027

Reviewed-by: sherman
This commit is contained in:
Aleksei Efimov 2014-12-16 23:59:57 +03:00
parent 9cb99ee080
commit 2a50c5f3c4
3 changed files with 9 additions and 4 deletions

View File

@ -758,8 +758,8 @@ class TzdbZoneRulesProvider {
if (endYear == Year.MAX_VALUE) {
endYear = startYear;
lastRules.add(new TransRule(endYear, rule));
lastRulesStartYear = Math.max(startYear, lastRulesStartYear);
}
lastRulesStartYear = Math.max(startYear, lastRulesStartYear);
} else {
if (endYear == Year.MAX_VALUE) {
//endYear = zoneEnd.getYear();

View File

@ -303,9 +303,6 @@ com/sun/jdi/RedefinePop.sh generic-all
# jdk_util
# 8051641
sun/util/calendar/zi/TestZoneInfo310.java generic-all
# 8062512
java/util/spi/ResourceBundleControlProvider/UserDefaultControlTest.java generic-all

View File

@ -126,6 +126,14 @@ class Rule {
});
rules.clear();
for (int i = 0; i < n; i++) {
if (i != 0 && recs[i -1].getSave() == recs[i].getSave()) {
// we have two recs back to back with same saving for the same year.
if (recs[i].isLastRule()) {
continue;
} else if (recs[i - 1].isLastRule()) {
rules.remove(rules.size() - 1);
}
}
rules.add(recs[i]);
}
return rules;