mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-07 22:44:49 +00:00
ICU-4081 Fixed warnings
X-SVN-Rev: 22892
This commit is contained in:
parent
823b13cee5
commit
4fc941c249
2 changed files with 19 additions and 4 deletions
|
@ -177,7 +177,7 @@ int32_t ChineseCalendar::handleGetExtendedYear() {
|
|||
* whether or not the given month is a leap month.
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
int32_t ChineseCalendar::handleGetMonthLength(int32_t extendedYear, int32_t month) {
|
||||
int32_t ChineseCalendar::handleGetMonthLength(int32_t extendedYear, int32_t month) const {
|
||||
int32_t thisStart = handleComputeMonthStart(extendedYear, month, TRUE) -
|
||||
kEpochStartAsJulianDay + 1; // Julian day -> local days
|
||||
int32_t nextStart = newMoonNear(thisStart + SYNODIC_GAP, TRUE);
|
||||
|
@ -328,6 +328,14 @@ void ChineseCalendar::add(UCalendarDateFields field, int32_t amount, UErrorCode&
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Override Calendar to handle leap months properly.
|
||||
* @stable ICU 2.8
|
||||
*/
|
||||
void ChineseCalendar::add(EDateFields field, int32_t amount, UErrorCode& status) {
|
||||
add((UCalendarDateFields)field, amount, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Override Calendar to handle leap months properly.
|
||||
* @stable ICU 2.8
|
||||
|
@ -390,6 +398,10 @@ void ChineseCalendar::roll(UCalendarDateFields field, int32_t amount, UErrorCode
|
|||
}
|
||||
}
|
||||
|
||||
void ChineseCalendar::roll(EDateFields field, int32_t amount, UErrorCode& status) {
|
||||
roll((UCalendarDateFields)field, amount, status);
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// Support methods and constants
|
||||
|
@ -499,7 +511,7 @@ int32_t ChineseCalendar::newMoonNear(double days, UBool after) const {
|
|||
UDate newMoon = gChineseCalendarAstro->getMoonTime(CalendarAstronomer::NEW_MOON(), after);
|
||||
umtx_unlock(&astroLock);
|
||||
|
||||
return millisToDays(newMoon);
|
||||
return (int32_t) millisToDays(newMoon);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -510,7 +522,8 @@ int32_t ChineseCalendar::newMoonNear(double days, UBool after) const {
|
|||
* @return the nearest integer number of months between day1 and day2
|
||||
*/
|
||||
int32_t ChineseCalendar::synodicMonthsBetween(int32_t day1, int32_t day2) const {
|
||||
return (int32_t) (((day2 - day1) / CalendarAstronomer::SYNODIC_MONTH) + .5);
|
||||
double roundme = ((day2 - day1) / CalendarAstronomer::SYNODIC_MONTH);
|
||||
return (int32_t) (roundme + (roundme >= 0 ? .5 : -.5));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -139,7 +139,7 @@ class ChineseCalendar : public Calendar {
|
|||
|
||||
protected:
|
||||
virtual int32_t handleGetLimit(UCalendarDateFields field, ELimitType limitType) const;
|
||||
virtual int32_t handleGetMonthLength(int32_t extendedYear, int32_t month);
|
||||
virtual int32_t handleGetMonthLength(int32_t extendedYear, int32_t month) const;
|
||||
//virtual int32_t handleGetYearLength(int32_t extendedYear) const;
|
||||
virtual int32_t handleComputeMonthStart(int32_t eyear, int32_t month, UBool useMonth) const;
|
||||
virtual int32_t handleGetExtendedYear();
|
||||
|
@ -150,7 +150,9 @@ class ChineseCalendar : public Calendar {
|
|||
|
||||
public:
|
||||
virtual void add(UCalendarDateFields field, int32_t amount, UErrorCode &status);
|
||||
virtual void add(EDateFields field, int32_t amount, UErrorCode &status);
|
||||
virtual void roll(UCalendarDateFields field, int32_t amount, UErrorCode &status);
|
||||
virtual void roll(EDateFields field, int32_t amount, UErrorCode &status);
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Reference in a new issue