mirror of https://github.com/acidanthera/audk.git
EmbeddedPkg: improve TimeBaseLib type safety
EfiTimeToEpoch currently returns a UINTN. Also, some internal calculations was using UINTN for fixed-width. Both of these lead to warnings/errors with VS2017. Replace with appropriate fixed-size types. BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=997 Cc: Alexei Fedorov <Alexei.Fedorov@arm.com> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
This commit is contained in:
parent
7c974d6b6e
commit
1d7571166f
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
*
|
||||
* Copyright (c) 2016, Hisilicon Limited. All rights reserved.
|
||||
* Copyright (c) 2016, Linaro Limited. All rights reserved.
|
||||
* Copyright (c) 2016-2019, Linaro Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
*
|
||||
|
@ -53,7 +53,7 @@ EpochToEfiTime (
|
|||
/**
|
||||
Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC)
|
||||
**/
|
||||
UINTN
|
||||
UINT32
|
||||
EFIAPI
|
||||
EfiTimeToEpoch (
|
||||
IN EFI_TIME *Time
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
*
|
||||
* Copyright (c) 2016, Hisilicon Limited. All rights reserved.
|
||||
* Copyright (c) 2016, Linaro Limited. All rights reserved.
|
||||
* Copyright (c) 2016-2019, Linaro Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
*
|
||||
|
@ -53,9 +53,9 @@ EpochToEfiTime (
|
|||
m = (((da * 5) + 308) / 153) - 2;
|
||||
d = da - (((m + 4) * 153) / 5) + 122;
|
||||
|
||||
Time->Year = y - 4800 + ((m + 2) / 12);
|
||||
Time->Year = (UINT16)(y - 4800 + ((m + 2) / 12));
|
||||
Time->Month = ((m + 2) % 12) + 1;
|
||||
Time->Day = d + 1;
|
||||
Time->Day = (UINT8)(d + 1);
|
||||
|
||||
ss = EpochSeconds % 60;
|
||||
a = (EpochSeconds - ss) / 60;
|
||||
|
@ -63,9 +63,9 @@ EpochToEfiTime (
|
|||
b = (a - mm) / 60;
|
||||
hh = b % 24;
|
||||
|
||||
Time->Hour = hh;
|
||||
Time->Minute = mm;
|
||||
Time->Second = ss;
|
||||
Time->Hour = (UINT8)hh;
|
||||
Time->Minute = (UINT8)mm;
|
||||
Time->Second = (UINT8)ss;
|
||||
Time->Nanosecond = 0;
|
||||
|
||||
}
|
||||
|
@ -99,14 +99,14 @@ EfiGetEpochDays (
|
|||
/**
|
||||
Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC)
|
||||
**/
|
||||
UINTN
|
||||
UINT32
|
||||
EFIAPI
|
||||
EfiTimeToEpoch (
|
||||
IN EFI_TIME *Time
|
||||
)
|
||||
{
|
||||
UINTN EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY
|
||||
UINTN EpochSeconds;
|
||||
UINT32 EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY
|
||||
UINT32 EpochSeconds;
|
||||
|
||||
EpochDays = EfiGetEpochDays (Time);
|
||||
|
||||
|
|
Loading…
Reference in New Issue