]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py
BaseTools: no need to do int() API work for it
[mirror_edk2.git] / BaseTools / Source / Python / PatchPcdValue / PatchPcdValue.py
index 882da81930da267e02ba412fe9c4a69feb5b2bd8..0664d6a90fa14ca9a11dadfd644698aa55816467 100644 (file)
@@ -110,10 +110,7 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
                 ValueNumber = 1\r
             elif ValueString == 'FALSE':\r
                 ValueNumber = 0\r
-            elif ValueString.startswith('0X'):\r
-                ValueNumber = int (ValueString, 16)\r
-            else:\r
-                ValueNumber = int (ValueString)\r
+            ValueNumber = int (ValueString, 0)\r
             if ValueNumber != 0:\r
                 ValueNumber = 1\r
         except:\r
@@ -127,10 +124,7 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
         # Get PCD value for UINT* data type\r
         #\r
         try:\r
-            if ValueString.startswith('0X'):\r
-                ValueNumber = int (ValueString, 16)\r
-            else:\r
-                ValueNumber = int (ValueString)\r
+            ValueNumber = int (ValueString, 0)\r
         except:\r
             return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string." % (ValueString)\r
         #\r
@@ -161,10 +155,11 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
             #\r
             # Patch {0x1, 0x2, ...} byte by byte\r
             #\r
-            ValueList = ValueString[1 : len(ValueString) - 1].split(', ')\r
+            ValueList = ValueString[1 : len(ValueString) - 1].split(',')\r
             Index = 0\r
             try:\r
                 for ByteString in ValueList:\r
+                    ByteString = ByteString.strip()\r
                     if ByteString.upper().startswith('0X'):\r
                         ByteValue = int(ByteString, 16)\r
                     else:\r
@@ -266,13 +261,13 @@ def Main():
         if not os.path.exists (InputFile):\r
             EdkLogger.error("PatchPcdValue", FILE_NOT_FOUND, ExtraData=InputFile)\r
             return 1\r
-        if CommandOptions.PcdOffset == None or CommandOptions.PcdValue == None or CommandOptions.PcdTypeName == None:\r
+        if CommandOptions.PcdOffset is None or CommandOptions.PcdValue is None or CommandOptions.PcdTypeName is None:\r
             EdkLogger.error("PatchPcdValue", OPTION_MISSING, ExtraData="PcdOffset or PcdValue of PcdTypeName is not specified.")\r
             return 1\r
         if CommandOptions.PcdTypeName.upper() not in ["BOOLEAN", "UINT8", "UINT16", "UINT32", "UINT64", "VOID*"]:\r
             EdkLogger.error("PatchPcdValue", PARAMETER_INVALID, ExtraData="PCD type %s is not valid." % (CommandOptions.PcdTypeName))\r
             return 1\r
-        if CommandOptions.PcdTypeName.upper() == "VOID*" and CommandOptions.PcdMaxSize == None:\r
+        if CommandOptions.PcdTypeName.upper() == "VOID*" and CommandOptions.PcdMaxSize is None:\r
             EdkLogger.error("PatchPcdValue", OPTION_MISSING, ExtraData="PcdMaxSize is not specified for VOID* type PCD.")\r
             return 1\r
         #\r