From 6553c61724f74bd160d2002f5aa768aa687a2af4 Mon Sep 17 00:00:00 2001 From: "Carsey, Jaben" Date: Fri, 20 Apr 2018 23:51:44 +0800 Subject: [PATCH] BaseTools: GenFds - simplify testing for Hex number Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey Reviewed-by: Yonghong Zhu --- BaseTools/Source/Python/Common/GlobalData.py | 1 + BaseTools/Source/Python/GenFds/FdfParser.py | 9 +-------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/BaseTools/Source/Python/Common/GlobalData.py b/BaseTools/Source/Python/Common/GlobalData.py index f58dc5a8dd..e3131b86cc 100644 --- a/BaseTools/Source/Python/Common/GlobalData.py +++ b/BaseTools/Source/Python/Common/GlobalData.py @@ -62,6 +62,7 @@ gGuidPatternEnd = re.compile(r'{}$'.format(_GuidPattern)) ## Regular expressions for HEX matching g4HexChar = re.compile(r'{}{{4}}'.format(_HexChar)) gHexPattern = re.compile(r'0[xX]{}+'.format(_HexChar)) +gHexPatternAll = re.compile(r'0[xX]{}+$'.format(_HexChar)) ## Regular expressions for string identifier checking gIdentifierPattern = re.compile('^[a-zA-Z][a-zA-Z0-9_]*$', re.UNICODE) diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index 6baf875833..25755a9778 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -1183,13 +1183,6 @@ class FdfParser: self.__GetOneChar() - def __IsHex(self, HexStr): - if not HexStr.upper().startswith("0X"): - return False - if len(self.__Token) <= 2: - return False - return True if all(x in string.hexdigits for x in HexStr[2:]) else False - ## __GetNextHexNumber() method # # Get next HEX data before a seperator @@ -1202,7 +1195,7 @@ class FdfParser: def __GetNextHexNumber(self): if not self.__GetNextToken(): return False - if self.__IsHex(self.__Token): + if gHexPatternAll.match(self.__Token): return True else: self.__UndoToken() -- 2.39.2