ICU-1085 make first day of week and minimal days of first week invalidate fields; enforce valid range

X-SVN-Rev: 11352
This commit is contained in:
Alan Liu 2003-03-18 18:17:24 +00:00
parent ac193fe881
commit 239bd7b7e2

View file

@ -661,7 +661,11 @@ Calendar::isLenient() const
void
Calendar::setFirstDayOfWeek(UCalendarDaysOfWeek value)
{
fFirstDayOfWeek = value;
if (fFirstDayOfWeek != value &&
value >= UCAL_SUNDAY && value <= SATURDAY) {
fFirstDayOfWeek = value;
fAreFieldsSet = FALSE;
}
}
// -------------------------------------
@ -677,7 +681,18 @@ Calendar::getFirstDayOfWeek() const
void
Calendar::setMinimalDaysInFirstWeek(uint8_t value)
{
fMinimalDaysInFirstWeek = value;
// Values less than 1 have the same effect as 1; values greater
// than 7 have the same effect as 7. However, we normalize values
// so operator== and so forth work.
if (value < 1) {
value = 1;
} else if (value > 7) {
value = 7;
}
if (fMinimalDaysInFirstWeek != value) {
fMinimalDaysInFirstWeek = value;
fAreFieldsSet = FALSE;
}
}
// -------------------------------------