[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1420375345-3967-1-git-send-email-oscar.forner.martinez@gmail.com>
Date: Sun, 4 Jan 2015 12:42:25 +0000
From: Oscar Forner Martinez <oscar.forner.martinez@...il.com>
To: linux-kernel@...r.kernel.org
Cc: Oscar Forner Martinez <oscar.forner.martinez@...il.com>
Subject: [PATCH v2] fs: isofs: Fix bug in the way to check if the year is a leap year
Changed the whole algorithm for a call to mktime64 that takes
care of all that details.
Signed-off-by: Oscar Forner Martinez <oscar.forner.martinez@...il.com>
---
fs/isofs/util.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/fs/isofs/util.c b/fs/isofs/util.c
index 01e1ee7..a3f953a 100644
--- a/fs/isofs/util.c
+++ b/fs/isofs/util.c
@@ -2,6 +2,7 @@
* linux/fs/isofs/util.c
*/
+#include <linux/time.h>
#include "isofs.h"
/*
@@ -31,18 +32,7 @@ int iso_date(char * p, int flag)
if (year < 0) {
crtime = 0;
} else {
- int monlen[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
-
- days = year * 365;
- if (year > 2)
- days += (year+1) / 4;
- for (i = 1; i < month; i++)
- days += monlen[i-1];
- if (((year+2) % 4) == 0 && month > 2)
- days++;
- days += day - 1;
- crtime = ((((days * 24) + hour) * 60 + minute) * 60)
- + second;
+ crtime = mktime64(year+1970, month, day, hour, minute, second);
/* sign extend */
if (tz & 0x80)
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists