* include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
computation for some years before epoch. Avode confusing division while on it.
This commit is contained in:
parent
21344ef620
commit
84cfe81b1d
2 changed files with 7 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
|
||||
computation for some years before epoch. Avode confusing division
|
||||
while on it.
|
||||
|
||||
2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/video/i386/pc/vbe.c
|
||||
|
|
|
@ -89,9 +89,7 @@ grub_datetime2unixtime (const struct grub_datetime *datetime, grub_int32_t *nix)
|
|||
ret = 3 * SECPERYEAR + SECPERDAY;
|
||||
|
||||
/* Transform C divisions and modulos to mathematical ones */
|
||||
y4 = (datetime->year - 1973) / 4;
|
||||
if (datetime->year < 1973)
|
||||
y4--;
|
||||
y4 = ((datetime->year - 1) >> 2) - (1973 / 4);
|
||||
ay = datetime->year - 1973 - 4 * y4;
|
||||
ret += y4 * SECPER4YEARS;
|
||||
ret += ay * SECPERYEAR;
|
||||
|
|
Loading…
Reference in a new issue