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:
Leif Lindholm 2019-06-13 16:48:28 +01:00
parent 7c974d6b6e
commit 1d7571166f
2 changed files with 11 additions and 11 deletions

View File

@ -1,7 +1,7 @@
/** @file /** @file
* *
* Copyright (c) 2016, Hisilicon Limited. All rights reserved. * 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 * 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) Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC)
**/ **/
UINTN UINT32
EFIAPI EFIAPI
EfiTimeToEpoch ( EfiTimeToEpoch (
IN EFI_TIME *Time IN EFI_TIME *Time

View File

@ -1,7 +1,7 @@
/** @file /** @file
* *
* Copyright (c) 2016, Hisilicon Limited. All rights reserved. * 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 * SPDX-License-Identifier: BSD-2-Clause-Patent
* *
@ -53,9 +53,9 @@ EpochToEfiTime (
m = (((da * 5) + 308) / 153) - 2; m = (((da * 5) + 308) / 153) - 2;
d = da - (((m + 4) * 153) / 5) + 122; 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->Month = ((m + 2) % 12) + 1;
Time->Day = d + 1; Time->Day = (UINT8)(d + 1);
ss = EpochSeconds % 60; ss = EpochSeconds % 60;
a = (EpochSeconds - ss) / 60; a = (EpochSeconds - ss) / 60;
@ -63,9 +63,9 @@ EpochToEfiTime (
b = (a - mm) / 60; b = (a - mm) / 60;
hh = b % 24; hh = b % 24;
Time->Hour = hh; Time->Hour = (UINT8)hh;
Time->Minute = mm; Time->Minute = (UINT8)mm;
Time->Second = ss; Time->Second = (UINT8)ss;
Time->Nanosecond = 0; Time->Nanosecond = 0;
} }
@ -99,14 +99,14 @@ EfiGetEpochDays (
/** /**
Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC) Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC)
**/ **/
UINTN UINT32
EFIAPI EFIAPI
EfiTimeToEpoch ( EfiTimeToEpoch (
IN EFI_TIME *Time IN EFI_TIME *Time
) )
{ {
UINTN EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY UINT32 EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY
UINTN EpochSeconds; UINT32 EpochSeconds;
EpochDays = EfiGetEpochDays (Time); EpochDays = EfiGetEpochDays (Time);