]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
BaseTools: resolve initialization order errors in VfrFormPkg.h
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / VfrFormPkg.cpp
index b8350623f2a06f8c6f3dc6855f43bec5e3018448..090ee13ef9da2e1b2402294d4d1908d50e5f8999 100644 (file)
@@ -104,8 +104,13 @@ CFormPkg::CFormPkg (
   SBufferNode *Node;\r
 \r
   mPkgLength           = 0;\r
+  mBufferSize          = 0;\r
   mBufferNodeQueueHead = NULL;\r
+  mBufferNodeQueueTail = NULL;\r
   mCurrBufferNode      = NULL;\r
+  mReadBufferNode      = NULL;\r
+  mReadBufferOffset    = 0;\r
+  PendingAssignList    = NULL;\r
 \r
   Node = new SBufferNode;\r
   if (Node == NULL) {\r
@@ -839,7 +844,7 @@ CFormPkg::DeclarePendingQuestion (
   // DisableIf\r
   CIfrDisableIf DIObj;\r
   DIObj.SetLineNo (LineNo);\r
-  *InsertOpcodeAddr = DIObj.GetObjBinAddr ();\r
+  *InsertOpcodeAddr = DIObj.GetObjBinAddr<CHAR8>();\r
   \r
   //TrueOpcode\r
   CIfrTrue TObj (LineNo);\r
@@ -1920,7 +1925,7 @@ CIfrRecordInfoDB::IfrCreateDefaultForQuestion (
           Obj = new CIfrObj (pOpHead->OpCode, NULL, pSNode->mBinBufLen, FALSE);\r
           assert (Obj != NULL);\r
           Obj->SetLineNo (pSNode->mLineNo);\r
-          ObjBinBuf = Obj->GetObjBinAddr();\r
+          ObjBinBuf = Obj->GetObjBinAddr<CHAR8>();\r
           memcpy (ObjBinBuf, pSNode->mIfrBinBuf, (UINTN)pSNode->mBinBufLen);\r
           delete Obj;\r
           pSNode = pSNode->mNext;\r
@@ -2421,6 +2426,7 @@ CIfrObj::CIfrObj (
   mObjBinLen   = (ObjBinLen == 0) ? gOpcodeSizesScopeTable[OpCode].mSize : ObjBinLen;\r
   mObjBinBuf   = ((DelayEmit == FALSE) && (gCreateOp == TRUE)) ? gCFormPkg.IfrBinBufferGet (mObjBinLen) : new CHAR8[EFI_IFR_MAX_LENGTH];\r
   mRecordIdx   = (gCreateOp == TRUE) ? gCIfrRecordInfoDB.IfrRecordRegister (0xFFFFFFFF, mObjBinBuf, mObjBinLen, mPkgOffset) : EFI_IFR_RECORDINFO_IDX_INVALUD;\r
+  mLineNo      = 0;\r
 \r
   assert (mObjBinBuf != NULL);\r
 \r