From 6ee9c68912324b4053cfa15fd06b02af1c1c74d9 Mon Sep 17 00:00:00 2001 From: Yonghong Zhu Date: Thu, 1 Mar 2018 13:48:31 +0800 Subject: [PATCH] BaseTools: Fix the bug for display incorrect *M flag in report The root cause is the byte array value in the driver Pcd, some bytes have additional space character, while the value in DSC file doesn't have this space, it cause the string compare return false, so we remove the extra space. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu Reviewed-by: Liming Gao --- BaseTools/Source/Python/Common/String.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/BaseTools/Source/Python/Common/String.py b/BaseTools/Source/Python/Common/String.py index 5e50beff5c..696be4c1f0 100644 --- a/BaseTools/Source/Python/Common/String.py +++ b/BaseTools/Source/Python/Common/String.py @@ -817,34 +817,34 @@ def GetHelpTextList(HelpTextClassList): def StringToArray(String): if isinstance(String, unicode): if len(unicode) == 0: - return "{0x00, 0x00}" - return "{%s, 0x00, 0x00}" % ", ".join(["0x%02x, 0x00" % ord(C) for C in String]) + return "{0x00,0x00}" + return "{%s,0x00,0x00}" % ",".join(["0x%02x,0x00" % ord(C) for C in String]) elif String.startswith('L"'): if String == "L\"\"": - return "{0x00, 0x00}" + return "{0x00,0x00}" else: - return "{%s, 0x00, 0x00}" % ", ".join(["0x%02x, 0x00" % ord(C) for C in String[2:-1]]) + return "{%s,0x00,0x00}" % ",".join(["0x%02x,0x00" % ord(C) for C in String[2:-1]]) elif String.startswith('"'): if String == "\"\"": return "{0x00,0x00}" else: StringLen = len(String[1:-1]) if StringLen % 2: - return "{%s, 0x00}" % ", ".join(["0x%02x" % ord(C) for C in String[1:-1]]) + return "{%s,0x00}" % ",".join(["0x%02x" % ord(C) for C in String[1:-1]]) else: - return "{%s, 0x00,0x00}" % ", ".join(["0x%02x" % ord(C) for C in String[1:-1]]) + return "{%s,0x00,0x00}" % ",".join(["0x%02x" % ord(C) for C in String[1:-1]]) elif String.startswith('{'): StringLen = len(String.split(",")) if StringLen % 2: - return "{%s, 0x00}" % ", ".join([ C for C in String[1:-1].split(',')]) + return "{%s,0x00}" % ",".join([ C.strip() for C in String[1:-1].split(',')]) else: - return "{%s}" % ", ".join([ C for C in String[1:-1].split(',')]) + return "{%s}" % ",".join([ C.strip() for C in String[1:-1].split(',')]) else: if len(String.split()) % 2: - return '{%s, 0}' % ', '.join(String.split()) + return '{%s,0}' % ','.join(String.split()) else: - return '{%s, 0,0}' % ', '.join(String.split()) + return '{%s,0,0}' % ','.join(String.split()) def StringArrayLength(String): if isinstance(String, unicode): -- 2.39.2