fixed a y2k bug :)
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 18 Feb 2001 11:37:35 +0000 (11:37 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 18 Feb 2001 11:37:35 +0000 (11:37 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@633 4a8a32a2-be11-0410-ad9d-d568d2c75423

device/lib/ds390/rtc390.c

index 8ed64d6b2afe625da95ce0bc45348e4b2e1ade7d..5eff84cc6f5342f46b245bd1bcf09c1d189491ac 100755 (executable)
@@ -68,7 +68,7 @@ unsigned char RtcRead(struct tm *rtcDate) {
       }
     }
   }
       }
     }
   }
-  rtcDate->tm_year=BCDtoINT(rtcBytes[7]+100); // year since 1900
+  rtcDate->tm_year=BCDtoINT(rtcBytes[7])+100; // year since 1900
   rtcDate->tm_mon=BCDtoINT(rtcBytes[6])-1; // jan=0
   rtcDate->tm_mday=BCDtoINT(rtcBytes[5]);
   rtcDate->tm_wday=(rtcBytes[4]&0x07)-1; // monday=0?
   rtcDate->tm_mon=BCDtoINT(rtcBytes[6])-1; // jan=0
   rtcDate->tm_mday=BCDtoINT(rtcBytes[5]);
   rtcDate->tm_wday=(rtcBytes[4]&0x07)-1; // monday=0?
@@ -87,7 +87,7 @@ void RtcWrite(struct tm *rtcDate) {
   unsigned char rtcBytes[8];
   unsigned char byte,bitMask;
 
   unsigned char rtcBytes[8];
   unsigned char byte,bitMask;
 
-  rtcBytes[7]=INTtoBCD(rtcDate->tm_year-100);
+  rtcBytes[7]=INTtoBCD(rtcDate->tm_year%100);
   rtcBytes[6]=INTtoBCD(rtcDate->tm_mon)+1;
   rtcBytes[5]=INTtoBCD(rtcDate->tm_mday);
   rtcBytes[4]=(INTtoBCD(rtcDate->tm_wday)+1)&0x07; //set 24h  mode
   rtcBytes[6]=INTtoBCD(rtcDate->tm_mon)+1;
   rtcBytes[5]=INTtoBCD(rtcDate->tm_mday);
   rtcBytes[4]=(INTtoBCD(rtcDate->tm_wday)+1)&0x07; //set 24h  mode