From d5b529bc28c8ec78433651b1b38053ed84da215d Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 11 Jul 2018 23:22:12 +0100 Subject: [PATCH] setdate: fix year in BCD mode --- Applications/util/setdate.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Applications/util/setdate.c b/Applications/util/setdate.c index 30748b58..c61cdca7 100644 --- a/Applications/util/setdate.c +++ b/Applications/util/setdate.c @@ -121,9 +121,13 @@ int rtcdate(void) p = rtc.data.bytes; for (i = 0; i < 7; i++) unbc(p++); + /* The date is now effectively encoded in Binary Coded Hundreds */ + tm.tm_year = (*p * 100) + p[1]; + /* Fall through */ case CMOS_RTC_DEC: p = rtc.data.bytes; - tm.tm_year = (*p + (p[1] << 8)) - 1900; + if (rtc.type != CMOS_RTC_BCD) + tm.tm_year = (*p + (p[1] << 8)) - 1900; p += 2; tm.tm_mon = *p++; tm.tm_mday = *p++; -- 2.34.1