From affe6f69d1b62bd4c56c9f3fa5d72430a3847253 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Mon, 10 Jan 2005 18:26:40 +0000 Subject: [multiple changes] 2005-01-10 Michael Koch * java/util/SimpleTimeZone.java (checkRule): Throw IllegalArgumentException on invalid month values. * java/util/TimeZone.java (setID): Throw NullPointerException if needed. 2005-01-10 Andrew John Hughes * java/util/SimpleTimeZone.java (getOffset): offset end date with daylight savings From-SVN: r93149 --- libjava/ChangeLog | 12 ++++++++++++ libjava/java/util/SimpleTimeZone.java | 9 ++++++--- libjava/java/util/TimeZone.java | 4 ++++ 3 files changed, 22 insertions(+), 3 deletions(-) (limited to 'libjava') diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ce668a4..42ad4c4 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,15 @@ +2005-01-10 Michael Koch + + * java/util/SimpleTimeZone.java (checkRule): + Throw IllegalArgumentException on invalid month values. + * java/util/TimeZone.java (setID): + Throw NullPointerException if needed. + +2005-01-10 Andrew John Hughes + + * java/util/SimpleTimeZone.java (getOffset): + offset end date with daylight savings + 2005-01-10 Ranjit Mathew * testsuite/libjava.compile/PR19277.java: New file for PR java/19277. diff --git a/libjava/java/util/SimpleTimeZone.java b/libjava/java/util/SimpleTimeZone.java index 648b675..7d0e201 100644 --- a/libjava/java/util/SimpleTimeZone.java +++ b/libjava/java/util/SimpleTimeZone.java @@ -70,7 +70,7 @@ public class SimpleTimeZone extends TimeZone /** * The daylight savings offset. This is a positive offset in * milliseconds with respect to standard time. Typically this - * is one hour, but for some time zones this may be half an our. + * is one hour, but for some time zones this may be half an hour. * @serial * @since JDK1.1.4 */ @@ -430,6 +430,8 @@ public class SimpleTimeZone extends TimeZone */ private int checkRule(int month, int day, int dayOfWeek) { + if (month < 0 || month > 11) + throw new IllegalArgumentException("month out of range"); int daysInMonth = getDaysInMonth(month, 1); if (dayOfWeek == 0) { @@ -589,7 +591,7 @@ public class SimpleTimeZone extends TimeZone * * Note that this API isn't incredibly well specified. It appears that the * after flag must override the parameters, since normally, the day and - * dayofweek can select this. I.e., if day < 0 and dayOfWeek < 0, on or + * dayofweek can select this. I.e., if day < 0 and dayOfWeek < 0, on or * before mode is chosen. But if after == true, this implementation * overrides the signs of the other arguments. And if dayOfWeek == 0, it * falls back to the behavior in the other APIs. I guess this should be @@ -693,7 +695,8 @@ public class SimpleTimeZone extends TimeZone boolean afterStart = !isBefore(year, month, day, dayOfWeek, millis, startMode, startMonth, startDay, startDayOfWeek, startTime); - boolean beforeEnd = isBefore(year, month, day, dayOfWeek, millis, + boolean beforeEnd = isBefore(year, month, day, dayOfWeek, + millis + dstSavings, endMode, endMonth, endDay, endDayOfWeek, endTime); diff --git a/libjava/java/util/TimeZone.java b/libjava/java/util/TimeZone.java index 39cdcd3..0685e60 100644 --- a/libjava/java/util/TimeZone.java +++ b/libjava/java/util/TimeZone.java @@ -989,9 +989,13 @@ public abstract class TimeZone implements java.io.Serializable, Cloneable * Sets the identifier of this time zone. For instance, PST for * Pacific Standard Time. * @param id the new time zone ID. + * @throws NullPointerException if id is null */ public void setID(String id) { + if (id == null) + throw new NullPointerException(); + this.ID = id; } -- cgit v1.1