From d79df34bebdd87aa01ccf78f541b4ae4c9f68f74 Mon Sep 17 00:00:00 2001 From: Yuwei Chen Date: Wed, 27 Oct 2021 18:00:03 +0800 Subject: BaseTools: Fix StructurePcd offset error. Currently when parse VFR files to get the struct info, BOOLEAN type struct is ignored, which caused offset errors. This patch fixed these bugs. Cc: Bob Feng Cc: Liming Gao Signed-off-by: Yuwei Chen Reviewed-by: Liming Gao Reviewed-by: Bob Feng --- BaseTools/Scripts/ConvertFceToStructurePcd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BaseTools/Scripts/ConvertFceToStructurePcd.py b/BaseTools/Scripts/ConvertFceToStructurePcd.py index 2baabf2dd5..9e7fe58768 100644 --- a/BaseTools/Scripts/ConvertFceToStructurePcd.py +++ b/BaseTools/Scripts/ConvertFceToStructurePcd.py @@ -142,7 +142,7 @@ class parser_lst(object): line.append(struct) unparse.append(line) else: - if uint not in ['UINT8', 'UINT16', 'UINT32', 'UINT64']: + if uint not in ['UINT8', 'UINT16', 'UINT32', 'UINT64', 'BOOLEAN']: line = [offset, t_name, 0, uint] line.append(struct) unparse.append(line) @@ -569,7 +569,7 @@ class mainprocess(object): for i in List: for j in i: tmp = j.split("|") - if (('L"' in j) and ("[" in j)) or (tmp[1].strip() == '{0x0, 0x0}'): + if (('L"' in j) and ("[" in j)) or (tmp[1].split("#")[0].strip() == '{0x0, 0x0}'): tmp[0] = tmp[0][:tmp[0].index('[')] List[List.index(i)][i.index(j)] = "|".join(tmp) else: -- cgit