changeset 1568:e28e125f9a21

PR377. SimpleTimeZone checks too strict for Asia/Amman TimeZone. * overlays/openjdk/jdk/test/java/util/SimpleTimeZone/EndOfDay.java: New test. * patches/icedtea-simpletimezone-relax.patch: New patch. * Makefile.am: Add new patch. * HACKING: Describe new patch.
author Mark Wielaard <mark@klomp.org>
date Sun, 30 Aug 2009 17:58:20 +0200
parents cae52872f2d5
children d0593233c9ce
files ChangeLog HACKING Makefile.am overlays/openjdk/jdk/test/java/util/SimpleTimeZone/EndOfDay.java patches/icedtea-simpletimezone-relax.patch
diffstat 5 files changed, 56 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Aug 31 10:26:15 2009 -0400
+++ b/ChangeLog	Sun Aug 30 17:58:20 2009 +0200
@@ -1,3 +1,12 @@
+2009-08-30  Mark Wielaard  <mark@klomp.org>
+
+	PR377. SimpleTimeZone checks too strict for Asia/Amman TimeZone.
+	* overlays/openjdk/jdk/test/java/util/SimpleTimeZone/EndOfDay.java:
+	New test.
+	* patches/icedtea-simpletimezone-relax.patch: New patch.
+	* Makefile.am: Add new patch.
+	* HACKING: Describe new patch.
+
 2009-08-31  Lillian Angel  <langel@redhat.com>
 
 	* configure.ac: bumped version.
--- a/HACKING	Mon Aug 31 10:26:15 2009 -0400
+++ b/HACKING	Sun Aug 30 17:58:20 2009 +0200
@@ -114,6 +114,8 @@
 * icedtea-6712835-ifnode.patch: Fix infinite loop in PhaseIterGVN::transform.
 * icedtea-timezone.patch : Makes java only look for time zone information in
   /etc/sysconfig/clock if /etc/localtime is not found (fix for rh-489586)
+* icedtea-simpletimezone-relax.patch: Fix for PR377, Jordan end of day rule
+  in Asia/Amman TimeZone. SimpleTimeZone checks too strict.
 * icedtea-timezone-default-permission.patch: Partial fix for PR381
   (in combination with icedtea-use-system-tzdata.patch) security check
   debug printing overflow. Also in openjdk7 b22, but apparently lost
--- a/Makefile.am	Mon Aug 31 10:26:15 2009 -0400
+++ b/Makefile.am	Sun Aug 30 17:58:20 2009 +0200
@@ -523,6 +523,7 @@
 	patches/icedtea-demos.patch \
 	patches/icedtea-timezone.patch \
 	patches/icedtea-timezone-default-permission.patch \
+	patches/icedtea-simpletimezone-relax.patch \
 	patches/icedtea-use-system-tzdata.patch \
 	patches/icedtea-headers.patch \
 	patches/hotspot/$(HSBUILD)/icedtea-headers.patch \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/overlays/openjdk/jdk/test/java/util/SimpleTimeZone/EndOfDay.java	Sun Aug 30 17:58:20 2009 +0200
@@ -0,0 +1,23 @@
+/*
+ * @test
+ * @bug 0000377
+ * @summary SimpleTimeZone should accept start/end rules at end of day
+ */
+
+import java.util.Calendar;
+import java.util.SimpleTimeZone;
+
+public class EndOfDay
+{
+  public static void main(String[] args)
+  {
+    SimpleTimeZone stz;
+    stz = new SimpleTimeZone(0, "End/Day",
+			     Calendar.MARCH, -1, Calendar.FRIDAY,
+			     24 * 60 * 60 * 1000,
+			     Calendar.APRIL, 1, Calendar.THURSDAY,
+			     24 * 60 * 60 * 1000,
+			     3600000);
+    System.err.println(stz);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/icedtea-simpletimezone-relax.patch	Sun Aug 30 17:58:20 2009 +0200
@@ -0,0 +1,21 @@
+diff -r 348fce38de3f src/share/classes/java/util/SimpleTimeZone.java
+--- openjdk/jdk/src/share/classes/java/util/SimpleTimeZone.java	Fri Jun 26 19:50:44 2009 +0400
++++ openjdk/jdk/src/share/classes/java/util/SimpleTimeZone.java	Sat Aug 29 22:36:41 2009 +0200
+@@ -1372,7 +1372,7 @@
+                 throw new IllegalArgumentException(
+                         "Illegal start month " + startMonth);
+             }
+-            if (startTime < 0 || startTime >= millisPerDay) {
++            if (startTime < 0 || startTime > millisPerDay) {
+                 throw new IllegalArgumentException(
+                         "Illegal start time " + startTime);
+             }
+@@ -1419,7 +1419,7 @@
+                 throw new IllegalArgumentException(
+                         "Illegal end month " + endMonth);
+             }
+-            if (endTime < 0 || endTime >= millisPerDay) {
++            if (endTime < 0 || endTime > millisPerDay) {
+                 throw new IllegalArgumentException(
+                         "Illegal end time " + endTime);
+             }