提交 644923d4 编写于 作者: T Tony Breeds 提交者: David S. Miller

[SPARC64]: Small cleanups time.c

- Removes days_in_mo[], as it's almost identical to month_days[]
- Use the leapyear() macro
- Line length wrapping.
Signed-off-by: NTony Breeds <tony@bakeyournoodle.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 d62c6f09
...@@ -1177,10 +1177,6 @@ static int set_rtc_mmss(unsigned long nowtime) ...@@ -1177,10 +1177,6 @@ static int set_rtc_mmss(unsigned long nowtime)
#define RTC_IS_OPEN 0x01 /* means /dev/rtc is in use */ #define RTC_IS_OPEN 0x01 /* means /dev/rtc is in use */
static unsigned char mini_rtc_status; /* bitmapped status byte. */ static unsigned char mini_rtc_status; /* bitmapped status byte. */
/* months start at 0 now */
static unsigned char days_in_mo[] =
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
#define FEBRUARY 2 #define FEBRUARY 2
#define STARTOFTIME 1970 #define STARTOFTIME 1970
#define SECDAY 86400L #define SECDAY 86400L
...@@ -1329,8 +1325,7 @@ static int mini_rtc_ioctl(struct inode *inode, struct file *file, ...@@ -1329,8 +1325,7 @@ static int mini_rtc_ioctl(struct inode *inode, struct file *file,
case RTC_SET_TIME: /* Set the RTC */ case RTC_SET_TIME: /* Set the RTC */
{ {
int year; int year, days;
unsigned char leap_yr;
if (!capable(CAP_SYS_TIME)) if (!capable(CAP_SYS_TIME))
return -EACCES; return -EACCES;
...@@ -1339,14 +1334,14 @@ static int mini_rtc_ioctl(struct inode *inode, struct file *file, ...@@ -1339,14 +1334,14 @@ static int mini_rtc_ioctl(struct inode *inode, struct file *file,
return -EFAULT; return -EFAULT;
year = wtime.tm_year + 1900; year = wtime.tm_year + 1900;
leap_yr = ((!(year % 4) && (year % 100)) || days = month_days[wtime.tm_mon] +
!(year % 400)); ((wtime.tm_mon == 1) && leapyear(year));
if ((wtime.tm_mon < 0 || wtime.tm_mon > 11) || (wtime.tm_mday < 1)) if ((wtime.tm_mon < 0 || wtime.tm_mon > 11) ||
(wtime.tm_mday < 1))
return -EINVAL; return -EINVAL;
if (wtime.tm_mday < 0 || wtime.tm_mday > if (wtime.tm_mday < 0 || wtime.tm_mday > days)
(days_in_mo[wtime.tm_mon] + ((wtime.tm_mon == 1) && leap_yr)))
return -EINVAL; return -EINVAL;
if (wtime.tm_hour < 0 || wtime.tm_hour >= 24 || if (wtime.tm_hour < 0 || wtime.tm_hour >= 24 ||
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册