rtc: Modify leap year test for more simpler way

Submitted by venu on Feb. 6, 2013, 11:39 a.m.

Details

Message ID 1360150791.5912.YahooMailNeo@web192506.mail.sg3.yahoo.com
State Rejected
Headers show

Commit Message

venu Feb. 6, 2013, 11:39 a.m.
By definition of Leap year,
If a year is multiple of 100 and not 400, then that should not be a leap year.

Your logic does not take care of this condition.

Hence I feel this patch is not correct.

Thanks,
Venu

Patch hide | download patch | download mbox

diff --git a/include/linux/rtc.h b/include/linux/rtc.h
index 9531845..d662b8d 100644
--- a/include/linux/rtc.h
+++ b/include/linux/rtc.h
@@ -181,7 +181,7 @@  void rtc_timer_do_work(struct work_struct *work);

static inline bool is_leap_year(unsigned int year)
{
-    return (!(year % 4) && (year % 100)) || !(year % 400);
+    return !(year & 0x3);
}

#ifdef CONFIG_RTC_HCTOSYS_DEVICE