]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTool/UPT: Add supporting of decimal numbers for INF_VERSION and DEC_SPECIFICATION
authorHess Chen <hesheng.chen@intel.com>
Wed, 18 Nov 2015 05:38:35 +0000 (05:38 +0000)
committerhchen30 <hchen30@Edk2>
Wed, 18 Nov 2015 05:38:35 +0000 (05:38 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18868 6f19259b-4bc3-4df7-8a09-765794883524

BaseTools/Source/Python/UPT/Logger/StringTable.py
BaseTools/Source/Python/UPT/Object/Parser/InfDefineObject.py
BaseTools/Source/Python/UPT/Parser/DecParser.py

index f15ac7f0bc6b2efa8eeb530849dd90919ed81bd2..a481c6785d619b2eb14a01f826c597978b444026 100644 (file)
@@ -656,7 +656,7 @@ _("Wrong define section format, must be KEY = Value.")
 ERR_DECPARSE_DEFINE_UNKNOWKEY       = \\r
 _("Unknown key [%s] in define section.")\r
 ERR_DECPARSE_DEFINE_SPEC            = \\r
-_("Specification value must be HEX numbers.")\r
+_("Specification value must be HEX numbers or decimal numbers.")\r
 ERR_DECPARSE_DEFINE_PKGNAME         = \\r
 _("Package name must be AlphaNumeric characters.")\r
 ERR_DECPARSE_DEFINE_PKGGUID         = \\r
index be9a0e196e39e7f861eb46e15c204c5577399800..1d074ee638fdfb8da5928c08db65c7959715bf95 100644 (file)
@@ -340,16 +340,21 @@ class InfDefSection(InfDefSectionOptionRomInfo):
                 ErrorInInf(ST.ERR_INF_PARSER_NOT_SUPPORT_EDKI_INF,\r
                            ErrorCode=ToolError.EDK1_INF_ERROR,\r
                            LineInfo=self.CurrentLine)\r
-                \r
-            self.InfVersion = InfDefMember()\r
-            self.InfVersion.SetValue(InfVersion)\r
-            self.InfVersion.Comments = Comments          \r
-            return True\r
+        elif IsValidDecVersionVal(InfVersion):\r
+            if (InfVersion < 65541):\r
+                ErrorInInf(ST.ERR_INF_PARSER_NOT_SUPPORT_EDKI_INF,\r
+                           ErrorCode=ToolError.EDK1_INF_ERROR,\r
+                           LineInfo=self.CurrentLine)\r
         else:\r
             ErrorInInf(ST.ERR_INF_PARSER_DEFINE_FROMAT_INVALID%(InfVersion),\r
                        LineInfo=self.CurrentLine)\r
             return False\r
 \r
+        self.InfVersion = InfDefMember()\r
+        self.InfVersion.SetValue(InfVersion)\r
+        self.InfVersion.Comments = Comments\r
+        return True\r
+\r
     ## GetInfVersion\r
     #                     \r
     def GetInfVersion(self):\r
@@ -1000,4 +1005,4 @@ class InfDefObject(InfSectionCommonDef):
     \r
     def GetDefines(self):\r
         return self.Defines                      \r
-        
\ No newline at end of file
+        \r
index 25407f9a2d505b975bd8b99e51af92c41b258dd2..23d1ed4dbb23c74b1e46db6ce4e5b89afd27634b 100644 (file)
@@ -29,6 +29,7 @@ from Library.ParserValidate import IsValidIdString
 from Library.ParserValidate import IsValidUserId\r
 from Library.ParserValidate import IsValidArch\r
 from Library.ParserValidate import IsValidWord\r
+from Library.ParserValidate import IsValidDecVersionVal\r
 from Parser.DecParserMisc import TOOL_NAME\r
 from Parser.DecParserMisc import CleanString\r
 from Parser.DecParserMisc import IsValidPcdDatum\r
@@ -452,7 +453,8 @@ class _DecDefine(_DecBase):
         if self.ItemObject.GetPackageSpecification():\r
             self._LoggerError(ST.ERR_DECPARSE_DEFINE_DEFINED % DT.TAB_DEC_DEFINES_DEC_SPECIFICATION)\r
         if not IsValidToken('0[xX][0-9a-fA-F]{8}', Token):\r
-            self._LoggerError(ST.ERR_DECPARSE_DEFINE_SPEC)\r
+            if not IsValidDecVersionVal(Token):\r
+                self._LoggerError(ST.ERR_DECPARSE_DEFINE_SPEC)\r
         self.ItemObject.SetPackageSpecification(Token)\r
     \r
     def _SetPackageName(self, Token):\r