]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/VfrCompile/VfrFormPkg.h
Sync basetools' source and binary files with r1707 of the basetools project.
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / VfrFormPkg.h
index 3f387666bd50d9d03abc0cd7b48945f0641b9ceb..fa671c1b1ecb10863a2c60b3dc5c6e6dce181839 100644 (file)
@@ -254,7 +254,7 @@ public:
 \r
   VOID DecLength (UINT8 Size) {\r
     if (mHeader->Length >= Size) {\r
-         mHeader -= Size;\r
+      mHeader -= Size;\r
     }\r
   }\r
 \r
@@ -358,7 +358,7 @@ public:
 \r
   VOID SetVarStoreInfo (IN EFI_VARSTORE_INFO *Info) {\r
     mHeader->VarStoreId             = Info->mVarStoreId;\r
-         mHeader->VarStoreInfo.VarName   = Info->mInfo.mVarName;\r
+    mHeader->VarStoreInfo.VarName   = Info->mInfo.mVarName;\r
     mHeader->VarStoreInfo.VarOffset = Info->mInfo.mVarOffset;\r
   }\r
 \r
@@ -398,7 +398,8 @@ public:
   }\r
 };\r
 \r
-static CIfrQuestionHeader *gCurrentQuestion = NULL;\r
+static CIfrQuestionHeader *gCurrentQuestion  = NULL;\r
+static CIfrObj            *gCurrentIfrOpcode = NULL;\r
 \r
 /*\r
  * The definition of CIfrMinMaxStepData\r
@@ -537,6 +538,12 @@ public:
   }\r
 \r
   EFI_VFR_RETURN_CODE SetFormId (IN EFI_FORM_ID FormId) {\r
+    if (FormId == 0) {\r
+      //\r
+      // FormId can't be 0.\r
+      //\r
+      return VFR_RETURN_INVALID_PARAMETER;\r
+    }\r
     if (CIfrForm::ChekFormIdFree (FormId) == FALSE) {\r
       return VFR_RETURN_FORMID_REDEFINED;\r
     }\r
@@ -688,7 +695,7 @@ public:
     ) : CIfrObj (EFI_IFR_DEFAULT_OP, (CHAR8 **)&mDefault),\r
         CIfrOpHeader (EFI_IFR_DEFAULT_OP, &mDefault->Header) {\r
     mDefault->Type      = Type;\r
-         mDefault->Value     = Value;\r
+    mDefault->Value     = Value;\r
     mDefault->DefaultId = DefaultId;\r
   }\r
 \r
@@ -722,7 +729,7 @@ private:
 public:\r
   CIfrSubtitle () : CIfrObj (EFI_IFR_SUBTITLE_OP, (CHAR8 **)&mSubtitle),\r
                   CIfrOpHeader (EFI_IFR_SUBTITLE_OP, &mSubtitle->Header),\r
-                                 CIfrStatementHeader (&mSubtitle->Statement) {\r
+  CIfrStatementHeader (&mSubtitle->Statement) {\r
     mSubtitle->Flags = 0;\r
   }\r
 \r
@@ -856,7 +863,7 @@ private:
 public:\r
   CIfrResetButton () : CIfrObj (EFI_IFR_RESET_BUTTON_OP, (CHAR8 **)&mResetButton),\r
                        CIfrOpHeader (EFI_IFR_RESET_BUTTON_OP, &mResetButton->Header), \r
-                                          CIfrStatementHeader (&mResetButton->Question.Header) {\r
+  CIfrStatementHeader (&mResetButton->Statement) {\r
     mResetButton->DefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;\r
   }\r
 \r
@@ -874,11 +881,11 @@ public:
                      CIfrOpHeader (EFI_IFR_CHECKBOX_OP, &mCheckBox->Header), \r
                      CIfrQuestionHeader (&mCheckBox->Question) {\r
     mCheckBox->Flags = 0;\r
-    gCurrentQuestion = this;\r
+    gCurrentQuestion  = this;\r
   }\r
 \r
   ~CIfrCheckBox () {\r
-    gCurrentQuestion = NULL;\r
+    gCurrentQuestion  = NULL;\r
   }\r
 \r
   EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, UINT8 LFlags) {\r
@@ -974,11 +981,13 @@ public:
                    CIfrQuestionHeader (&mNumeric->Question),\r
                    CIfrMinMaxStepData (&mNumeric->data) {\r
     mNumeric->Flags  = EFI_IFR_NUMERIC_SIZE_1 | EFI_IFR_DISPLAY_UINT_DEC;\r
-    gCurrentQuestion = this;\r
+    gCurrentQuestion  = this;\r
+    gCurrentIfrOpcode = this;\r
   }\r
 \r
   ~CIfrNumeric () {\r
-    gCurrentQuestion = NULL;\r
+    gCurrentQuestion  = NULL;\r
+    gCurrentIfrOpcode = NULL;\r
   }\r
 \r
   EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {\r
@@ -1008,11 +1017,13 @@ public:
                  CIfrQuestionHeader (&mOneOf->Question),\r
                  CIfrMinMaxStepData (&mOneOf->data) {\r
     mOneOf->Flags    = 0;\r
-    gCurrentQuestion = this;\r
+    gCurrentQuestion  = this;\r
+    gCurrentIfrOpcode = this;\r
   }\r
 \r
   ~CIfrOneOf () {\r
-    gCurrentQuestion = NULL;\r
+    gCurrentQuestion  = NULL;\r
+    gCurrentIfrOpcode = NULL;\r
   }\r
 \r
   EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {\r