Patchwork rtc: Modify leap year test for more simpler way

login
register
mail settings
Submitter venu
Date Feb. 6, 2013, 11:39 a.m.
Message ID <1360150791.5912.YahooMailNeo@web192506.mail.sg3.yahoo.com>
Download mbox | patch
Permalink /patch/218562/
State New
Headers show

Comments

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

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