* include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
This commit is contained in:
parent
b4bf7c3b20
commit
b1ac4cb1f9
2 changed files with 9 additions and 5 deletions
|
@ -1,3 +1,7 @@
|
|||
2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
|
||||
|
||||
2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
|
||||
|
|
|
@ -85,14 +85,14 @@ grub_datetime2unixtime (const struct grub_datetime *datetime, grub_int32_t *nix)
|
|||
/* In the period of validity of unixtime all years divisible by 4
|
||||
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 = 2 * SECPERYEAR + SECPERDAY;
|
||||
at the beginning of the epoch. So count from 1973 instead of 1970 */
|
||||
ret = 3 * SECPERYEAR + SECPERDAY;
|
||||
|
||||
/* Transform C divisions and modulos to mathematical ones */
|
||||
y4 = (datetime->year - 1972) / 4;
|
||||
if (datetime->year < 1972)
|
||||
y4 = (datetime->year - 1973) / 4;
|
||||
if (datetime->year < 1973)
|
||||
y4--;
|
||||
ay = datetime->year - 1972 - 4 * y4;
|
||||
ay = datetime->year - 1973 - 4 * y4;
|
||||
ret += y4 * SECPER4YEARS;
|
||||
ret += ay * SECPERYEAR;
|
||||
|
||||
|
|
Loading…
Reference in a new issue