diff --git a/libjava/java/util/Calendar.java b/libjava/java/util/Calendar.java index f4806a35bdc2..bd022a7a54c7 100644 --- a/libjava/java/util/Calendar.java +++ b/libjava/java/util/Calendar.java @@ -187,6 +187,7 @@ public abstract class Calendar implements java.io.Serializable, Cloneable public final void set (int fld, int value) { + if (! areFieldsSet) computeFields(); fields[fld] = value; isTimeSet = false; } diff --git a/libjava/java/util/natGregorianCalendar.cc b/libjava/java/util/natGregorianCalendar.cc index cfa98bdc58d4..5f1374e79ce5 100644 --- a/libjava/java/util/natGregorianCalendar.cc +++ b/libjava/java/util/natGregorianCalendar.cc @@ -57,7 +57,7 @@ java::util::GregorianCalendar::computeTime () t += zone->getRawOffset(); // Adjust for milliseconds. - time = t * 1000 + elements(fields)[MILLISECOND]; + time = t * (jlong) 1000 + elements(fields)[MILLISECOND]; isTimeSet = true; }