Index: RTC.c =================================================================== diff -u -r41f2b11a7d12a4d1710625371f24443eb1151684 -r1ad549d610417a594093b226b5c67ac05ee13dea --- RTC.c (.../RTC.c) (revision 41f2b11a7d12a4d1710625371f24443eb1151684) +++ RTC.c (.../RTC.c) (revision 1ad549d610417a594093b226b5c67ac05ee13dea) @@ -845,14 +845,15 @@ U32 mins = dateTime.minutes; U32 hrs = dateTime.hours; U32 days = dateTime.days; + U32 mos = dateTime.months - 1; // convert months from 1..12 to 0..11 U32 yrs = dateTime.years - EPOCH_YEAR; U32 lyrs = ( yrs / 4 ) + ( yrs % 4 > 2 ? 1 : 0 ); BOOL leap = ( dateTime.years % 4 == 0 ? TRUE : FALSE ); U32 i, dayCnt; daysInMonth[ LEAP_YEAR_MONTH ] = ( TRUE == leap ? 29 : 28 ); dayCnt = 0; - for ( i = 0; i < dateTime.months; i++ ) + for ( i = 0; i <= dateTime.months; i++ ) { dayCnt += daysInMonth[ i ]; } @@ -901,7 +902,7 @@ { if ( days >= dayCnt ) { - dtTime.months = i; + dtTime.months = i + 1; } dayCnt += daysInMonth[ i ]; }