Index: RTC.c =================================================================== diff -u -r823005b0a8c0d3fcdef9d914f991924d305491f6 -rd834f4a374d4f61ea10d423dd069565a77b94d66 --- RTC.c (.../RTC.c) (revision 823005b0a8c0d3fcdef9d914f991924d305491f6) +++ RTC.c (.../RTC.c) (revision d834f4a374d4f61ea10d423dd069565a77b94d66) @@ -889,7 +889,9 @@ U32 twoYears = twoYrEpoch / SECONDS_IN_2_YEARS; U32 oneYrEpoch = twoYrEpoch - ( twoYears * SECONDS_IN_2_YEARS ); U32 oneYears = ( twoYears > 0 ? oneYrEpoch / SECONDS_IN_LEAP_YEAR : oneYrEpoch / SECONDS_IN_NORMAL_YEAR ); - U32 days = ( twoYears > 0 ? ( oneYrEpoch - SECONDS_IN_LEAP_YEAR ) / SECONDS_IN_A_DAY : oneYrEpoch ); + U32 days34 = ( oneYears > 0 ? ( oneYrEpoch - SECONDS_IN_LEAP_YEAR ) / SECONDS_IN_A_DAY : oneYrEpoch / SECONDS_IN_A_DAY ); + U32 days12 = ( oneYears > 0 ? ( oneYrEpoch - SECONDS_IN_NORMAL_YEAR ) / SECONDS_IN_A_DAY : oneYrEpoch / SECONDS_IN_A_DAY ); + U32 days = ( twoYears > 0 ? days34 : days12 ); U32 wholeYears = ( fourYears * 4 ) + ( twoYears * 2 ) + oneYears; BOOL leapYear = ( twoYears > 0 && 0 == oneYears ? TRUE : FALSE ); U32 oneDayEpoch= oneYrEpoch % SECONDS_IN_A_DAY;