+2005-01-10 Michael Koch <konqueror@gmx.de>
+
+ * 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 <gnu_andrew@member.fsf.org>
+
+ * java/util/SimpleTimeZone.java (getOffset):
+ offset end date with daylight savings
+
2005-01-10 Ranjit Mathew <rmathew@hotmail.com>
* testsuite/libjava.compile/PR19277.java: New file for PR java/19277.
/**
* 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
*/
*/
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)
{
*
* 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
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);