From beacbc7492393992a8d10cd0a450c308a482f315 Mon Sep 17 00:00:00 2001 From: Liming Gao Date: Tue, 2 Jan 2018 20:41:43 +0800 Subject: [PATCH] BaseTools CommonLib: Fix printf %llx issue on UINT64 UINT64 is defined as the different type for the different ARCHs. To let it work for all archs and compilers, add (unsigned long long) for the input value together with %llx. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao Reviewed-by: Yonghong Zhu --- BaseTools/Source/C/Common/PcdValueCommon.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/BaseTools/Source/C/Common/PcdValueCommon.c b/BaseTools/Source/C/Common/PcdValueCommon.c index 6ca0994744..42f76ddbbc 100644 --- a/BaseTools/Source/C/Common/PcdValueCommon.c +++ b/BaseTools/Source/C/Common/PcdValueCommon.c @@ -266,11 +266,7 @@ Returns: sprintf(PcdList[Index].Value, "0x%08x", (UINT32)(Value & 0xffffffff)); break; case PcdDataTypeUint64: -#ifdef __GNUC__ - sprintf(PcdList[Index].Value, "0x%016lx", Value); -#else - sprintf(PcdList[Index].Value, "0x%016llx", Value); -#endif + sprintf(PcdList[Index].Value, "0x%016llx", (unsigned long long)Value); break; case PcdDataTypePointer: fprintf (stderr, "PCD %s.%s.%s.%s is structure. Use PcdSetPtr()\n", SkuName, DefaultValueName, TokenSpaceGuidName, TokenName); -- 2.39.2