diff options
author | Gary Benson <gbenson@redhat.com> | 2007-04-13 11:47:12 +0000 |
---|---|---|
committer | Gary Benson <gbenson@redhat.com> | 2007-04-13 11:47:12 +0000 |
commit | 67b124824e8154daeecd44371b3fd3d0cead9563 (patch) | |
tree | 536784820091dd4a226ba9bf2b371af64978140d /java | |
parent | 304e22de20622b7ac3bedbc1cc90e4bb653aad5d (diff) | |
download | classpath-67b124824e8154daeecd44371b3fd3d0cead9563.tar.gz |
2007-04-13 Gary Benson <gbenson@redhat.com>
* java/util/Calendar.java
(complete): Reorder, and set isTimeSet.
* java/util/GregorianCalendar.java
(computeTime): Do not set isTimeSet.
Diffstat (limited to 'java')
-rw-r--r-- | java/util/Calendar.java | 17 | ||||
-rw-r--r-- | java/util/GregorianCalendar.java | 2 |
2 files changed, 13 insertions, 6 deletions
diff --git a/java/util/Calendar.java b/java/util/Calendar.java index 3e4fd8a34..c426eb5e5 100644 --- a/java/util/Calendar.java +++ b/java/util/Calendar.java @@ -951,10 +951,19 @@ public abstract class Calendar */ protected void complete() { - if (! isTimeSet) - computeTime(); - if (! areFieldsSet) - computeFields(); + // computeFields() sets areFieldsSet, but computeTime() + // does not set isTimeSet. This seems odd, but it's what + // Sun's implementation does. + if (!isTimeSet) + { + computeTime(); + isTimeSet = true; + computeFields(); + } + else if (!areFieldsSet) + { + computeFields(); + } } /** diff --git a/java/util/GregorianCalendar.java b/java/util/GregorianCalendar.java index 8086b2286..8cfadc3d4 100644 --- a/java/util/GregorianCalendar.java +++ b/java/util/GregorianCalendar.java @@ -723,8 +723,6 @@ public class GregorianCalendar extends Calendar - zone.getRawOffset()); time -= rawOffset + dstOffset; - - isTimeSet = true; } /** |