BaseTools/Source/Python/Common/String.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
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 <yonghong.zhu@intel.com>
---
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 5e50bef..696be4c 100644
--- a/BaseTools/Source/Python/Common/String.py
+++ b/BaseTools/Source/Python/Common/String.py
@@ -815,38 +815,38 @@ def GetHelpTextList(HelpTextClassList):
return List
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):
return (len(String) + 1) * 2 + 1;
elif String.startswith('L"'):
--
2.6.1.windows.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Reviewed-by: Liming Gao <liming.gao@intel.com> > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Yonghong Zhu > Sent: Thursday, March 1, 2018 1:56 PM > To: edk2-devel@lists.01.org > Subject: [edk2] [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 <yonghong.zhu@intel.com> > --- > 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 5e50bef..696be4c 100644 > --- a/BaseTools/Source/Python/Common/String.py > +++ b/BaseTools/Source/Python/Common/String.py > @@ -815,38 +815,38 @@ def GetHelpTextList(HelpTextClassList): > return List > > 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): > return (len(String) + 1) * 2 + 1; > elif String.startswith('L"'): > -- > 2.6.1.windows.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
© 2016 - 2024 Red Hat, Inc.