]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Common/VpdInfoFile.py
BaseTools: Handle the bytes and str difference
[mirror_edk2.git] / BaseTools / Source / Python / Common / VpdInfoFile.py
index cebc1f718786b62c68d9a959e59bb57ab0b5f29b..e6cc768ee1f590c187b8575c0e576a0bb2a3a3c4 100644 (file)
@@ -92,18 +92,18 @@ class VpdInfoFile:
         if (Vpd is None):\r
             EdkLogger.error("VpdInfoFile", BuildToolError.ATTRIBUTE_UNKNOWN_ERROR, "Invalid VPD PCD entry.")\r
 \r
-        if not (Offset >= 0 or Offset == TAB_STAR):\r
+        if not (Offset >= "0" or Offset == TAB_STAR):\r
             EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID, "Invalid offset parameter: %s." % Offset)\r
 \r
         if Vpd.DatumType == TAB_VOID:\r
-            if Vpd.MaxDatumSize <= 0:\r
+            if Vpd.MaxDatumSize <= "0":\r
                 EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID,\r
                                 "Invalid max datum size for VPD PCD %s.%s" % (Vpd.TokenSpaceGuidCName, Vpd.TokenCName))\r
         elif Vpd.DatumType in TAB_PCD_NUMERIC_TYPES:\r
             if not Vpd.MaxDatumSize:\r
                 Vpd.MaxDatumSize = MAX_SIZE_TYPE[Vpd.DatumType]\r
         else:\r
-            if Vpd.MaxDatumSize <= 0:\r
+            if Vpd.MaxDatumSize <= "0":\r
                 EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID,\r
                                 "Invalid max datum size for VPD PCD %s.%s" % (Vpd.TokenSpaceGuidCName, Vpd.TokenCName))\r
 \r
@@ -127,7 +127,7 @@ class VpdInfoFile:
                             "Invalid parameter FilePath: %s." % FilePath)\r
 \r
         Content = FILE_COMMENT_TEMPLATE\r
-        Pcds = sorted(self._VpdArray.keys())\r
+        Pcds = sorted(self._VpdArray.keys(), key=lambda x: x.TokenCName)\r
         for Pcd in Pcds:\r
             i = 0\r
             PcdTokenCName = Pcd.TokenCName\r
@@ -249,7 +249,7 @@ def CallExtenalBPDGTool(ToolPath, VpdFileName):
     except Exception as X:\r
         EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData=str(X))\r
     (out, error) = PopenObject.communicate()\r
-    print(out)\r
+    print(out.decode(encoding='utf-8', errors='ignore'))\r
     while PopenObject.returncode is None :\r
         PopenObject.wait()\r
 \r