]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 26 Oct 2011 17:27:36 +0000 (19:27 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 26 Oct 2011 17:27:36 +0000 (19:27 +0200)
error.

ChangeLog
include/grub/datetime.h

index 9787d8f9e0bf8bd07124b844de5f00e0a0eea842..084131202744042868f119754c932a1a09b2f226 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
-2011-10-25  Vladimir Serbinenko  <phcoder@gmail.com>
+2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
+       error.
+
+2011-10-26  Vladimir Serbinenko  <phcoder@gmail.com>
 
        ZFS fixes.
 
index dea0f8ea9f8999f21ee36338ba9bda1bbe4e1da7..049dbc227de2e28b3a13f78b303b11b31f37c194 100644 (file)
@@ -86,13 +86,13 @@ grub_datetime2unixtime (const struct grub_datetime *datetime, grub_int32_t *nix)
      are bissextile*/
   /* Convenience: let's have 3 consecutive non-bissextile years
      at the beginning of the epoch. So count from 1971 instead of 1970 */
-  ret = SECPERYEAR + SECPERDAY;
+  ret = 2 * SECPERYEAR + SECPERDAY;
 
   /* Transform C divisions and modulos to mathematical ones */
-  y4 = (datetime->year - 1971) / 4;
-  if (datetime->year < 1971)
+  y4 = (datetime->year - 1972) / 4;
+  if (datetime->year < 1972)
     y4--;
-  ay = datetime->year - 1971 - 4 * y4;
+  ay = datetime->year - 1972 - 4 * y4;
   ret += y4 * SECPER4YEARS;
   ret += ay * SECPERYEAR;