From 464b0ee868b23d542d6d8d4161a5b0731417f04f Mon Sep 17 00:00:00 2001 From: aefimov Date: Fri, 14 Mar 2014 15:50:20 +0400 Subject: [PATCH] 8037180: [TEST_BUG] test/sun/util/calendar/zi/Zoneinfo.java incorrectly calculates raw GMT offset change time Reviewed-by: coffeys, okutsu --- test/sun/util/calendar/zi/Zoneinfo.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/sun/util/calendar/zi/Zoneinfo.java b/test/sun/util/calendar/zi/Zoneinfo.java index 277c045a2..9e4865518 100644 --- a/test/sun/util/calendar/zi/Zoneinfo.java +++ b/test/sun/util/calendar/zi/Zoneinfo.java @@ -372,6 +372,7 @@ class Zoneinfo { ZoneRec zrec = zone.get(zone.size()-1); tz.getOffsetIndex(zrec.getGmtOffset()); + int lastGmtOffsetValue = -1; int currentSave = 0; boolean usedZone; for (int zindex = 0; zindex < zone.size(); zindex++) { @@ -380,9 +381,12 @@ class Zoneinfo { gmtOffset = zrec.getGmtOffset(); int stdOffset = zrec.getDirectSave(); + if (gmtOffset != lastGmtOffsetValue) { + tz.setRawOffset(gmtOffset, fromTime); + lastGmtOffsetValue = gmtOffset; + } // If this is the last zone record, take the last rule info. if (!zrec.hasUntil()) { - tz.setRawOffset(gmtOffset, fromTime); if (zrec.hasRuleReference()) { tz.setLastRules(zrec.getRuleRef().getLastRules()); } else if (stdOffset != 0) { -- GitLab