#\r
from struct import *\r
from GenFdsGlobalVariable import GenFdsGlobalVariable\r
-import StringIO\r
+from io import BytesIO\r
import string\r
from CommonDataClass.FdfClass import RegionClassObject\r
import Common.LongFilePathOs as os\r
if self.FvAddress % FvAlignValue != 0:\r
EdkLogger.error("GenFds", GENFDS_ERROR,\r
"FV (%s) is NOT %s Aligned!" % (FvObj.UiFvName, FvObj.FvAlignment))\r
- FvBuffer = StringIO.StringIO('')\r
+ FvBuffer = BytesIO('')\r
FvBaseAddress = '0x%X' % self.FvAddress\r
BlockSize = None\r
BlockNum = None\r
if Flag:\r
continue\r
\r
- if FvBuffer.len > Size:\r
+ FvBufferLen = len(FvBuffer.getvalue())\r
+ if FvBufferLen > Size:\r
FvBuffer.close()\r
EdkLogger.error("GenFds", GENFDS_ERROR,\r
"Size of FV (%s) is larger than Region Size 0x%X specified." % (RegionData, Size))\r
#\r
Buffer.write(FvBuffer.getvalue())\r
FvBuffer.close()\r
- FvOffset = FvOffset + FvBuffer.len\r
- Size = Size - FvBuffer.len\r
+ FvOffset = FvOffset + FvBufferLen\r
+ Size = Size - FvBufferLen\r
continue\r
else:\r
EdkLogger.error("GenFds", GENFDS_ERROR, "FV (%s) is NOT described in FDF file!" % (RegionData))\r