Message ID | 20181129123129.25095-3-ard.biesheuvel@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | BaseTools: get rid of MAX_UINTN | expand |
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of > Ard Biesheuvel > Sent: Thursday, November 29, 2018 4:31 AM > To: edk2-devel@lists.01.org > Cc: Laszlo Ersek <lersek@redhat.com>; Gao, Liming <liming.gao@intel.com> > Subject: [edk2] [PATCH 2/6] BaseTools/CommonLib: use explicit 64-bit type > in Strtoi() > > Don't use the native word size string to number parsing routines, > but instead, use the 64-bit one and cast to UINTN. > > Currently, the only user is in Source/C/DevicePath/DevicePathFromText.c > which takes care to use Strtoi64 () unless it assumes the value fits > in 32-bit, so this change is a no-op even on 32-bit build hosts. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > BaseTools/Source/C/Common/CommonLib.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/BaseTools/Source/C/Common/CommonLib.c > b/BaseTools/Source/C/Common/CommonLib.c > index bea6af0a45b1..c5e32b1292e0 100644 > --- a/BaseTools/Source/C/Common/CommonLib.c > +++ b/BaseTools/Source/C/Common/CommonLib.c > @@ -2252,9 +2252,9 @@ Strtoi ( > ) > { > if (IsHexStr (Str)) { > - return StrHexToUintn (Str); > + return (UINTN)StrHexToUint64 (Str); > } else { > - return StrDecimalToUintn (Str); > + return (UINTN)StrDecimalToUint64 (Str); > } > } > > -- > 2.19.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/BaseTools/Source/C/Common/CommonLib.c b/BaseTools/Source/C/Common/CommonLib.c index bea6af0a45b1..c5e32b1292e0 100644 --- a/BaseTools/Source/C/Common/CommonLib.c +++ b/BaseTools/Source/C/Common/CommonLib.c @@ -2252,9 +2252,9 @@ Strtoi ( ) { if (IsHexStr (Str)) { - return StrHexToUintn (Str); + return (UINTN)StrHexToUint64 (Str); } else { - return StrDecimalToUintn (Str); + return (UINTN)StrDecimalToUint64 (Str); } }
Don't use the native word size string to number parsing routines, but instead, use the 64-bit one and cast to UINTN. Currently, the only user is in Source/C/DevicePath/DevicePathFromText.c which takes care to use Strtoi64 () unless it assumes the value fits in 32-bit, so this change is a no-op even on 32-bit build hosts. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- BaseTools/Source/C/Common/CommonLib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.19.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel