]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Ecc/c.py
BaseTools: Handle the bytes and str difference
[mirror_edk2.git] / BaseTools / Source / Python / Ecc / c.py
index 5616c108533e47b51cdd062dfed64ea8df90acba..b8d6adde16679eb01f88af0e0be669ca10101d33 100644 (file)
@@ -17,14 +17,14 @@ import sys
 import Common.LongFilePathOs as os\r
 import re\r
 import string\r
-from . import CodeFragmentCollector\r
-from . import FileProfile\r
+from Ecc import CodeFragmentCollector\r
+from Ecc import FileProfile\r
 from CommonDataClass import DataClass\r
-from . import Database\r
+from Ecc import Database\r
 from Common import EdkLogger\r
-from .EccToolError import *\r
-from . import EccGlobalData\r
-from . import MetaDataParser\r
+from Ecc.EccToolError import *\r
+from Ecc import EccGlobalData\r
+from Ecc import MetaDataParser\r
 \r
 IncludeFileListDict = {}\r
 AllIncludeFileListDict = {}\r
@@ -2144,7 +2144,7 @@ def CheckBooleanValueComparison(FullFileName):
                     PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_BOOLEAN_VALUE, 'Predicate Expression: %s' % Exp, FileTable, Str[2])\r
 \r
 \r
-def CheckHeaderFileData(FullFileName):\r
+def CheckHeaderFileData(FullFileName, AllTypedefFun=[]):\r
     ErrorMsgList = []\r
 \r
     FileID = GetTableID(FullFileName, ErrorMsgList)\r
@@ -2160,7 +2160,11 @@ def CheckHeaderFileData(FullFileName):
     ResultSet = Db.TblFile.Exec(SqlStatement)\r
     for Result in ResultSet:\r
         if not Result[1].startswith('extern'):\r
-            PrintErrorMsg(ERROR_INCLUDE_FILE_CHECK_DATA, 'Variable definition appears in header file', FileTable, Result[0])\r
+            for Item in AllTypedefFun:\r
+                if '(%s)' % Result[1] in Item:\r
+                    break\r
+            else:\r
+                PrintErrorMsg(ERROR_INCLUDE_FILE_CHECK_DATA, 'Variable definition appears in header file', FileTable, Result[0])\r
 \r
     SqlStatement = """ select ID\r
                        from Function\r