]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/DisplayEngineDxe/FormDisplay.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Universal / DisplayEngineDxe / FormDisplay.c
index a3898dc2ecffdb054a4c7b8b92dce061b175bf7e..a7b7dc743aae6d553c4f50efd80a444319e6c7de 100644 (file)
@@ -12,7 +12,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //\r
 // Search table for UiDisplayMenu()\r
 //\r
-SCAN_CODE_TO_SCREEN_OPERATION     gScanCodeToOperation[] = {\r
+SCAN_CODE_TO_SCREEN_OPERATION  gScanCodeToOperation[] = {\r
   {\r
     SCAN_UP,\r
     UiUp,\r
@@ -43,7 +43,7 @@ SCAN_CODE_TO_SCREEN_OPERATION     gScanCodeToOperation[] = {
   }\r
 };\r
 \r
-UINTN mScanCodeNumber = ARRAY_SIZE (gScanCodeToOperation);\r
+UINTN  mScanCodeNumber = ARRAY_SIZE (gScanCodeToOperation);\r
 \r
 SCREEN_OPERATION_T0_CONTROL_FLAG  gScreenOperationToControlFlag[] = {\r
   {\r
@@ -89,79 +89,79 @@ SCREEN_OPERATION_T0_CONTROL_FLAG  gScreenOperationToControlFlag[] = {
 };\r
 \r
 EFI_GUID  gDisplayEngineGuid = {\r
-  0xE38C1029, 0xE38F, 0x45b9, {0x8F, 0x0D, 0xE2, 0xE6, 0x0B, 0xC9, 0xB2, 0x62}\r
+  0xE38C1029, 0xE38F, 0x45b9, { 0x8F, 0x0D, 0xE2, 0xE6, 0x0B, 0xC9, 0xB2, 0x62 }\r
 };\r
 \r
-BOOLEAN                       gMisMatch;\r
-EFI_SCREEN_DESCRIPTOR         gStatementDimensions;\r
-BOOLEAN                       mStatementLayoutIsChanged = TRUE;\r
-USER_INPUT                    *gUserInput;\r
-FORM_DISPLAY_ENGINE_FORM      *gFormData;\r
-EFI_HII_HANDLE                gHiiHandle;\r
-UINT16                        gDirection;\r
-LIST_ENTRY                    gMenuOption;\r
-DISPLAY_HIGHLIGHT_MENU_INFO   gHighligthMenuInfo = {0};\r
-BOOLEAN                       mIsFirstForm = TRUE;\r
-FORM_ENTRY_INFO               gOldFormEntry = {0};\r
+BOOLEAN                      gMisMatch;\r
+EFI_SCREEN_DESCRIPTOR        gStatementDimensions;\r
+BOOLEAN                      mStatementLayoutIsChanged = TRUE;\r
+USER_INPUT                   *gUserInput;\r
+FORM_DISPLAY_ENGINE_FORM     *gFormData;\r
+EFI_HII_HANDLE               gHiiHandle;\r
+UINT16                       gDirection;\r
+LIST_ENTRY                   gMenuOption;\r
+DISPLAY_HIGHLIGHT_MENU_INFO  gHighligthMenuInfo = { 0 };\r
+BOOLEAN                      mIsFirstForm       = TRUE;\r
+FORM_ENTRY_INFO              gOldFormEntry      = { 0 };\r
 \r
 //\r
 // Browser Global Strings\r
 //\r
-CHAR16            *gReconnectConfirmChanges;\r
-CHAR16            *gReconnectFail;\r
-CHAR16            *gReconnectRequired;\r
-CHAR16            *gChangesOpt;\r
-CHAR16            *gFormNotFound;\r
-CHAR16            *gNoSubmitIf;\r
-CHAR16            *gBrowserError;\r
-CHAR16            *gSaveFailed;\r
-CHAR16            *gNoSubmitIfFailed;\r
-CHAR16            *gSaveProcess;\r
-CHAR16            *gSaveNoSubmitProcess;\r
-CHAR16            *gDiscardChange;\r
-CHAR16            *gJumpToFormSet;\r
-CHAR16            *gCheckError;\r
-CHAR16            *gPromptForData;\r
-CHAR16            *gPromptForPassword;\r
-CHAR16            *gPromptForNewPassword;\r
-CHAR16            *gConfirmPassword;\r
-CHAR16            *gConfirmError;\r
-CHAR16            *gPassowordInvalid;\r
-CHAR16            *gPressEnter;\r
-CHAR16            *gEmptyString;\r
-CHAR16            *gMiniString;\r
-CHAR16            *gOptionMismatch;\r
-CHAR16            *gFormSuppress;\r
-CHAR16            *gProtocolNotFound;\r
-CHAR16            *gConfirmDefaultMsg;\r
-CHAR16            *gConfirmSubmitMsg;\r
-CHAR16            *gConfirmDiscardMsg;\r
-CHAR16            *gConfirmResetMsg;\r
-CHAR16            *gConfirmExitMsg;\r
-CHAR16            *gConfirmSubmitMsg2nd;\r
-CHAR16            *gConfirmDefaultMsg2nd;\r
-CHAR16            *gConfirmResetMsg2nd;\r
-CHAR16            *gConfirmExitMsg2nd;\r
-CHAR16            *gConfirmOpt;\r
-CHAR16            *gConfirmOptYes;\r
-CHAR16            *gConfirmOptNo;\r
-CHAR16            *gConfirmOptOk;\r
-CHAR16            *gConfirmOptCancel;\r
-CHAR16            *gYesOption;\r
-CHAR16            *gNoOption;\r
-CHAR16            *gOkOption;\r
-CHAR16            *gCancelOption;\r
-CHAR16            *gErrorPopup;\r
-CHAR16            *gWarningPopup;\r
-CHAR16            *gInfoPopup;\r
-CHAR16            *gConfirmMsgConnect;\r
-CHAR16            *gConfirmMsgEnd;\r
-CHAR16            *gPasswordUnsupported;\r
-CHAR16            gModalSkipColumn;\r
-CHAR16            gPromptBlockWidth;\r
-CHAR16            gOptionBlockWidth;\r
-CHAR16            gHelpBlockWidth;\r
-CHAR16            *mUnknownString;\r
+CHAR16  *gReconnectConfirmChanges;\r
+CHAR16  *gReconnectFail;\r
+CHAR16  *gReconnectRequired;\r
+CHAR16  *gChangesOpt;\r
+CHAR16  *gFormNotFound;\r
+CHAR16  *gNoSubmitIf;\r
+CHAR16  *gBrowserError;\r
+CHAR16  *gSaveFailed;\r
+CHAR16  *gNoSubmitIfFailed;\r
+CHAR16  *gSaveProcess;\r
+CHAR16  *gSaveNoSubmitProcess;\r
+CHAR16  *gDiscardChange;\r
+CHAR16  *gJumpToFormSet;\r
+CHAR16  *gCheckError;\r
+CHAR16  *gPromptForData;\r
+CHAR16  *gPromptForPassword;\r
+CHAR16  *gPromptForNewPassword;\r
+CHAR16  *gConfirmPassword;\r
+CHAR16  *gConfirmError;\r
+CHAR16  *gPassowordInvalid;\r
+CHAR16  *gPressEnter;\r
+CHAR16  *gEmptyString;\r
+CHAR16  *gMiniString;\r
+CHAR16  *gOptionMismatch;\r
+CHAR16  *gFormSuppress;\r
+CHAR16  *gProtocolNotFound;\r
+CHAR16  *gConfirmDefaultMsg;\r
+CHAR16  *gConfirmSubmitMsg;\r
+CHAR16  *gConfirmDiscardMsg;\r
+CHAR16  *gConfirmResetMsg;\r
+CHAR16  *gConfirmExitMsg;\r
+CHAR16  *gConfirmSubmitMsg2nd;\r
+CHAR16  *gConfirmDefaultMsg2nd;\r
+CHAR16  *gConfirmResetMsg2nd;\r
+CHAR16  *gConfirmExitMsg2nd;\r
+CHAR16  *gConfirmOpt;\r
+CHAR16  *gConfirmOptYes;\r
+CHAR16  *gConfirmOptNo;\r
+CHAR16  *gConfirmOptOk;\r
+CHAR16  *gConfirmOptCancel;\r
+CHAR16  *gYesOption;\r
+CHAR16  *gNoOption;\r
+CHAR16  *gOkOption;\r
+CHAR16  *gCancelOption;\r
+CHAR16  *gErrorPopup;\r
+CHAR16  *gWarningPopup;\r
+CHAR16  *gInfoPopup;\r
+CHAR16  *gConfirmMsgConnect;\r
+CHAR16  *gConfirmMsgEnd;\r
+CHAR16  *gPasswordUnsupported;\r
+CHAR16  gModalSkipColumn;\r
+CHAR16  gPromptBlockWidth;\r
+CHAR16  gOptionBlockWidth;\r
+CHAR16  gHelpBlockWidth;\r
+CHAR16  *mUnknownString;\r
 \r
 FORM_DISPLAY_DRIVER_PRIVATE_DATA  mPrivateData = {\r
   FORM_DISPLAY_DRIVER_SIGNATURE,\r
@@ -177,7 +177,6 @@ FORM_DISPLAY_DRIVER_PRIVATE_DATA  mPrivateData = {
   }\r
 };\r
 \r
-\r
 /**\r
   Get the string based on the StringId and HII Package List Handle.\r
 \r
@@ -190,8 +189,8 @@ FORM_DISPLAY_DRIVER_PRIVATE_DATA  mPrivateData = {
 **/\r
 CHAR16 *\r
 GetToken (\r
-  IN  EFI_STRING_ID                Token,\r
-  IN  EFI_HII_HANDLE               HiiHandle\r
+  IN  EFI_STRING_ID   Token,\r
+  IN  EFI_HII_HANDLE  HiiHandle\r
   )\r
 {\r
   EFI_STRING  String;\r
@@ -202,10 +201,9 @@ GetToken (
     ASSERT (String != NULL);\r
   }\r
 \r
-  return (CHAR16 *) String;\r
+  return (CHAR16 *)String;\r
 }\r
 \r
-\r
 /**\r
   Initialize the HII String Token to the correct values.\r
 \r
@@ -216,56 +214,56 @@ InitializeDisplayStrings (
   )\r
 {\r
   gReconnectConfirmChanges = GetToken (STRING_TOKEN (RECONNECT_CONFIRM_CHANGES), gHiiHandle);\r
-  mUnknownString        = GetToken (STRING_TOKEN (UNKNOWN_STRING), gHiiHandle);\r
-  gSaveFailed           = GetToken (STRING_TOKEN (SAVE_FAILED), gHiiHandle);\r
-  gNoSubmitIfFailed     = GetToken (STRING_TOKEN (NO_SUBMIT_IF_CHECK_FAILED), gHiiHandle);\r
-  gReconnectFail        = GetToken (STRING_TOKEN (RECONNECT_FAILED), gHiiHandle);\r
-  gReconnectRequired    = GetToken (STRING_TOKEN (RECONNECT_REQUIRED), gHiiHandle);\r
-  gChangesOpt           = GetToken (STRING_TOKEN (RECONNECT_CHANGES_OPTIONS), gHiiHandle);\r
-  gSaveProcess          = GetToken (STRING_TOKEN (DISCARD_OR_JUMP), gHiiHandle);\r
-  gSaveNoSubmitProcess  = GetToken (STRING_TOKEN (DISCARD_OR_CHECK), gHiiHandle);\r
-  gDiscardChange        = GetToken (STRING_TOKEN (DISCARD_OR_JUMP_DISCARD), gHiiHandle);\r
-  gJumpToFormSet        = GetToken (STRING_TOKEN (DISCARD_OR_JUMP_JUMP), gHiiHandle);\r
-  gCheckError           = GetToken (STRING_TOKEN (DISCARD_OR_CHECK_CHECK), gHiiHandle);\r
-  gPromptForData        = GetToken (STRING_TOKEN (PROMPT_FOR_DATA), gHiiHandle);\r
-  gPromptForPassword    = GetToken (STRING_TOKEN (PROMPT_FOR_PASSWORD), gHiiHandle);\r
-  gPromptForNewPassword = GetToken (STRING_TOKEN (PROMPT_FOR_NEW_PASSWORD), gHiiHandle);\r
-  gConfirmPassword      = GetToken (STRING_TOKEN (CONFIRM_PASSWORD), gHiiHandle);\r
-  gConfirmError         = GetToken (STRING_TOKEN (CONFIRM_ERROR), gHiiHandle);\r
-  gPassowordInvalid     = GetToken (STRING_TOKEN (PASSWORD_INVALID), gHiiHandle);\r
-  gPressEnter           = GetToken (STRING_TOKEN (PRESS_ENTER), gHiiHandle);\r
-  gEmptyString          = GetToken (STRING_TOKEN (EMPTY_STRING), gHiiHandle);\r
-  gMiniString           = GetToken (STRING_TOKEN (MINI_STRING), gHiiHandle);\r
-  gOptionMismatch       = GetToken (STRING_TOKEN (OPTION_MISMATCH), gHiiHandle);\r
-  gFormSuppress         = GetToken (STRING_TOKEN (FORM_SUPPRESSED), gHiiHandle);\r
-  gProtocolNotFound     = GetToken (STRING_TOKEN (PROTOCOL_NOT_FOUND), gHiiHandle);\r
-  gFormNotFound         = GetToken (STRING_TOKEN (STATUS_BROWSER_FORM_NOT_FOUND), gHiiHandle);\r
-  gNoSubmitIf           = GetToken (STRING_TOKEN (STATUS_BROWSER_NO_SUBMIT_IF), gHiiHandle);\r
-  gBrowserError         = GetToken (STRING_TOKEN (STATUS_BROWSER_ERROR), gHiiHandle);\r
-  gConfirmDefaultMsg    = GetToken (STRING_TOKEN (CONFIRM_DEFAULT_MESSAGE), gHiiHandle);\r
-  gConfirmDiscardMsg    = GetToken (STRING_TOKEN (CONFIRM_DISCARD_MESSAGE), gHiiHandle);\r
-  gConfirmSubmitMsg     = GetToken (STRING_TOKEN (CONFIRM_SUBMIT_MESSAGE), gHiiHandle);\r
-  gConfirmResetMsg      = GetToken (STRING_TOKEN (CONFIRM_RESET_MESSAGE), gHiiHandle);\r
-  gConfirmExitMsg       = GetToken (STRING_TOKEN (CONFIRM_EXIT_MESSAGE), gHiiHandle);\r
-  gConfirmDefaultMsg2nd = GetToken (STRING_TOKEN (CONFIRM_DEFAULT_MESSAGE_2ND), gHiiHandle);\r
-  gConfirmSubmitMsg2nd  = GetToken (STRING_TOKEN (CONFIRM_SUBMIT_MESSAGE_2ND), gHiiHandle);\r
-  gConfirmResetMsg2nd   = GetToken (STRING_TOKEN (CONFIRM_RESET_MESSAGE_2ND), gHiiHandle);\r
-  gConfirmExitMsg2nd    = GetToken (STRING_TOKEN (CONFIRM_EXIT_MESSAGE_2ND), gHiiHandle);\r
-  gConfirmOpt           = GetToken (STRING_TOKEN (CONFIRM_OPTION), gHiiHandle);\r
-  gConfirmOptYes        = GetToken (STRING_TOKEN (CONFIRM_OPTION_YES), gHiiHandle);\r
-  gConfirmOptNo         = GetToken (STRING_TOKEN (CONFIRM_OPTION_NO), gHiiHandle);\r
-  gConfirmOptOk         = GetToken (STRING_TOKEN (CONFIRM_OPTION_OK), gHiiHandle);\r
-  gConfirmOptCancel     = GetToken (STRING_TOKEN (CONFIRM_OPTION_CANCEL), gHiiHandle);\r
-  gYesOption            = GetToken (STRING_TOKEN (YES_SELECTABLE_OPTION), gHiiHandle);\r
-  gNoOption             = GetToken (STRING_TOKEN (NO_SELECTABLE_OPTION), gHiiHandle);\r
-  gOkOption             = GetToken (STRING_TOKEN (OK_SELECTABLE_OPTION), gHiiHandle);\r
-  gCancelOption         = GetToken (STRING_TOKEN (CANCEL_SELECTABLE_OPTION), gHiiHandle);\r
-  gErrorPopup           = GetToken (STRING_TOKEN (ERROR_POPUP_STRING), gHiiHandle);\r
-  gWarningPopup         = GetToken (STRING_TOKEN (WARNING_POPUP_STRING), gHiiHandle);\r
-  gInfoPopup            = GetToken (STRING_TOKEN (INFO_POPUP_STRING), gHiiHandle);\r
-  gConfirmMsgConnect    = GetToken (STRING_TOKEN (CONFIRM_OPTION_CONNECT), gHiiHandle);\r
-  gConfirmMsgEnd        = GetToken (STRING_TOKEN (CONFIRM_OPTION_END), gHiiHandle);\r
-  gPasswordUnsupported  = GetToken (STRING_TOKEN (PASSWORD_NOT_SUPPORTED ), gHiiHandle);\r
+  mUnknownString           = GetToken (STRING_TOKEN (UNKNOWN_STRING), gHiiHandle);\r
+  gSaveFailed              = GetToken (STRING_TOKEN (SAVE_FAILED), gHiiHandle);\r
+  gNoSubmitIfFailed        = GetToken (STRING_TOKEN (NO_SUBMIT_IF_CHECK_FAILED), gHiiHandle);\r
+  gReconnectFail           = GetToken (STRING_TOKEN (RECONNECT_FAILED), gHiiHandle);\r
+  gReconnectRequired       = GetToken (STRING_TOKEN (RECONNECT_REQUIRED), gHiiHandle);\r
+  gChangesOpt              = GetToken (STRING_TOKEN (RECONNECT_CHANGES_OPTIONS), gHiiHandle);\r
+  gSaveProcess             = GetToken (STRING_TOKEN (DISCARD_OR_JUMP), gHiiHandle);\r
+  gSaveNoSubmitProcess     = GetToken (STRING_TOKEN (DISCARD_OR_CHECK), gHiiHandle);\r
+  gDiscardChange           = GetToken (STRING_TOKEN (DISCARD_OR_JUMP_DISCARD), gHiiHandle);\r
+  gJumpToFormSet           = GetToken (STRING_TOKEN (DISCARD_OR_JUMP_JUMP), gHiiHandle);\r
+  gCheckError              = GetToken (STRING_TOKEN (DISCARD_OR_CHECK_CHECK), gHiiHandle);\r
+  gPromptForData           = GetToken (STRING_TOKEN (PROMPT_FOR_DATA), gHiiHandle);\r
+  gPromptForPassword       = GetToken (STRING_TOKEN (PROMPT_FOR_PASSWORD), gHiiHandle);\r
+  gPromptForNewPassword    = GetToken (STRING_TOKEN (PROMPT_FOR_NEW_PASSWORD), gHiiHandle);\r
+  gConfirmPassword         = GetToken (STRING_TOKEN (CONFIRM_PASSWORD), gHiiHandle);\r
+  gConfirmError            = GetToken (STRING_TOKEN (CONFIRM_ERROR), gHiiHandle);\r
+  gPassowordInvalid        = GetToken (STRING_TOKEN (PASSWORD_INVALID), gHiiHandle);\r
+  gPressEnter              = GetToken (STRING_TOKEN (PRESS_ENTER), gHiiHandle);\r
+  gEmptyString             = GetToken (STRING_TOKEN (EMPTY_STRING), gHiiHandle);\r
+  gMiniString              = GetToken (STRING_TOKEN (MINI_STRING), gHiiHandle);\r
+  gOptionMismatch          = GetToken (STRING_TOKEN (OPTION_MISMATCH), gHiiHandle);\r
+  gFormSuppress            = GetToken (STRING_TOKEN (FORM_SUPPRESSED), gHiiHandle);\r
+  gProtocolNotFound        = GetToken (STRING_TOKEN (PROTOCOL_NOT_FOUND), gHiiHandle);\r
+  gFormNotFound            = GetToken (STRING_TOKEN (STATUS_BROWSER_FORM_NOT_FOUND), gHiiHandle);\r
+  gNoSubmitIf              = GetToken (STRING_TOKEN (STATUS_BROWSER_NO_SUBMIT_IF), gHiiHandle);\r
+  gBrowserError            = GetToken (STRING_TOKEN (STATUS_BROWSER_ERROR), gHiiHandle);\r
+  gConfirmDefaultMsg       = GetToken (STRING_TOKEN (CONFIRM_DEFAULT_MESSAGE), gHiiHandle);\r
+  gConfirmDiscardMsg       = GetToken (STRING_TOKEN (CONFIRM_DISCARD_MESSAGE), gHiiHandle);\r
+  gConfirmSubmitMsg        = GetToken (STRING_TOKEN (CONFIRM_SUBMIT_MESSAGE), gHiiHandle);\r
+  gConfirmResetMsg         = GetToken (STRING_TOKEN (CONFIRM_RESET_MESSAGE), gHiiHandle);\r
+  gConfirmExitMsg          = GetToken (STRING_TOKEN (CONFIRM_EXIT_MESSAGE), gHiiHandle);\r
+  gConfirmDefaultMsg2nd    = GetToken (STRING_TOKEN (CONFIRM_DEFAULT_MESSAGE_2ND), gHiiHandle);\r
+  gConfirmSubmitMsg2nd     = GetToken (STRING_TOKEN (CONFIRM_SUBMIT_MESSAGE_2ND), gHiiHandle);\r
+  gConfirmResetMsg2nd      = GetToken (STRING_TOKEN (CONFIRM_RESET_MESSAGE_2ND), gHiiHandle);\r
+  gConfirmExitMsg2nd       = GetToken (STRING_TOKEN (CONFIRM_EXIT_MESSAGE_2ND), gHiiHandle);\r
+  gConfirmOpt              = GetToken (STRING_TOKEN (CONFIRM_OPTION), gHiiHandle);\r
+  gConfirmOptYes           = GetToken (STRING_TOKEN (CONFIRM_OPTION_YES), gHiiHandle);\r
+  gConfirmOptNo            = GetToken (STRING_TOKEN (CONFIRM_OPTION_NO), gHiiHandle);\r
+  gConfirmOptOk            = GetToken (STRING_TOKEN (CONFIRM_OPTION_OK), gHiiHandle);\r
+  gConfirmOptCancel        = GetToken (STRING_TOKEN (CONFIRM_OPTION_CANCEL), gHiiHandle);\r
+  gYesOption               = GetToken (STRING_TOKEN (YES_SELECTABLE_OPTION), gHiiHandle);\r
+  gNoOption                = GetToken (STRING_TOKEN (NO_SELECTABLE_OPTION), gHiiHandle);\r
+  gOkOption                = GetToken (STRING_TOKEN (OK_SELECTABLE_OPTION), gHiiHandle);\r
+  gCancelOption            = GetToken (STRING_TOKEN (CANCEL_SELECTABLE_OPTION), gHiiHandle);\r
+  gErrorPopup              = GetToken (STRING_TOKEN (ERROR_POPUP_STRING), gHiiHandle);\r
+  gWarningPopup            = GetToken (STRING_TOKEN (WARNING_POPUP_STRING), gHiiHandle);\r
+  gInfoPopup               = GetToken (STRING_TOKEN (INFO_POPUP_STRING), gHiiHandle);\r
+  gConfirmMsgConnect       = GetToken (STRING_TOKEN (CONFIRM_OPTION_CONNECT), gHiiHandle);\r
+  gConfirmMsgEnd           = GetToken (STRING_TOKEN (CONFIRM_OPTION_END), gHiiHandle);\r
+  gPasswordUnsupported     = GetToken (STRING_TOKEN (PASSWORD_NOT_SUPPORTED), gHiiHandle);\r
 }\r
 \r
 /**\r
@@ -341,7 +339,7 @@ FreeDisplayStrings (
 **/\r
 EFI_STRING_ID\r
 GetPrompt (\r
-  IN EFI_IFR_OP_HEADER     *OpCode\r
+  IN EFI_IFR_OP_HEADER  *OpCode\r
   )\r
 {\r
   EFI_IFR_STATEMENT_HEADER  *Header;\r
@@ -350,7 +348,7 @@ GetPrompt (
     return 0;\r
   }\r
 \r
-  Header = (EFI_IFR_STATEMENT_HEADER  *) (OpCode + 1);\r
+  Header = (EFI_IFR_STATEMENT_HEADER  *)(OpCode + 1);\r
 \r
   return Header->Prompt;\r
 }\r
@@ -366,15 +364,15 @@ GetPrompt (
 **/\r
 UINT16\r
 GetWidth (\r
-  IN  UI_MENU_OPTION     *MenuOption,\r
-  OUT UINT16             *AdjustWidth\r
+  IN  UI_MENU_OPTION  *MenuOption,\r
+  OUT UINT16          *AdjustWidth\r
   )\r
 {\r
-  CHAR16                        *String;\r
-  UINTN                         Size;\r
-  EFI_IFR_TEXT                  *TextOp;\r
-  UINT16                        ReturnWidth;\r
-  FORM_DISPLAY_ENGINE_STATEMENT *Statement;\r
+  CHAR16                         *String;\r
+  UINTN                          Size;\r
+  EFI_IFR_TEXT                   *TextOp;\r
+  UINT16                         ReturnWidth;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
 \r
   Statement = MenuOption->ThisTag;\r
 \r
@@ -385,6 +383,7 @@ GetWidth (
     if (AdjustWidth  != NULL) {\r
       *AdjustWidth = LEFT_SKIPPED_COLUMNS;\r
     }\r
+\r
     return (UINT16)(gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 * (gModalSkipColumn + LEFT_SKIPPED_COLUMNS));\r
   }\r
 \r
@@ -394,7 +393,7 @@ GetWidth (
   // See if the second text parameter is really NULL\r
   //\r
   if (Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) {\r
-    TextOp = (EFI_IFR_TEXT *) Statement->OpCode;\r
+    TextOp = (EFI_IFR_TEXT *)Statement->OpCode;\r
     if (TextOp->TextTwo != 0) {\r
       String = GetToken (TextOp->TextTwo, gFormData->HiiHandle);\r
       Size   = StrLen (String);\r
@@ -411,24 +410,25 @@ GetWidth (
       // Allow a wide display if text op-code and no secondary text op-code\r
       //\r
       ((Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) && (Size == 0))\r
-      ) {\r
-\r
+      )\r
+  {\r
     //\r
     // Return the space width.\r
     //\r
     if (AdjustWidth != NULL) {\r
       *AdjustWidth = 2;\r
     }\r
+\r
     //\r
     // Keep consistent with current behavior.\r
     //\r
-    ReturnWidth = (UINT16) (gPromptBlockWidth + gOptionBlockWidth - 2);\r
+    ReturnWidth = (UINT16)(gPromptBlockWidth + gOptionBlockWidth - 2);\r
   } else {\r
     if (AdjustWidth != NULL) {\r
       *AdjustWidth = 1;\r
     }\r
 \r
-    ReturnWidth =  (UINT16) (gPromptBlockWidth - 1);\r
+    ReturnWidth =  (UINT16)(gPromptBlockWidth - 1);\r
   }\r
 \r
   //\r
@@ -462,25 +462,25 @@ GetWidth (
 **/\r
 UINT16\r
 GetLineByWidth (\r
-  IN      CHAR16                      *InputString,\r
-  IN      UINT16                      LineWidth,\r
-  IN OUT  UINT16                      *GlyphWidth,\r
-  IN OUT  UINTN                       *Index,\r
-  OUT     CHAR16                      **OutputString\r
+  IN      CHAR16  *InputString,\r
+  IN      UINT16  LineWidth,\r
+  IN OUT  UINT16  *GlyphWidth,\r
+  IN OUT  UINTN   *Index,\r
+  OUT     CHAR16  **OutputString\r
   )\r
 {\r
-  UINT16          StrOffset;\r
-  UINT16          GlyphOffset;\r
-  UINT16          OriginalGlyphWidth;\r
-  BOOLEAN         ReturnFlag;\r
-  UINT16          LastSpaceOffset;\r
-  UINT16          LastGlyphWidth;\r
-\r
-  if (InputString == NULL || Index == NULL || OutputString == NULL) {\r
+  UINT16   StrOffset;\r
+  UINT16   GlyphOffset;\r
+  UINT16   OriginalGlyphWidth;\r
+  BOOLEAN  ReturnFlag;\r
+  UINT16   LastSpaceOffset;\r
+  UINT16   LastGlyphWidth;\r
+\r
+  if ((InputString == NULL) || (Index == NULL) || (OutputString == NULL)) {\r
     return 0;\r
   }\r
 \r
-  if (LineWidth == 0 || *GlyphWidth == 0) {\r
+  if ((LineWidth == 0) || (*GlyphWidth == 0)) {\r
     return 0;\r
   }\r
 \r
@@ -529,6 +529,7 @@ GetLineByWidth (
           LastSpaceOffset = StrOffset;\r
           LastGlyphWidth  = *GlyphWidth;\r
         }\r
+\r
         break;\r
     }\r
 \r
@@ -558,14 +559,14 @@ GetLineByWidth (
   //\r
   // The CHAR_NULL has process last time, this time just return 0 to stand for the end.\r
   //\r
-  if (StrOffset == 0 && (InputString[*Index + StrOffset] == CHAR_NULL)) {\r
+  if ((StrOffset == 0) && (InputString[*Index + StrOffset] == CHAR_NULL)) {\r
     return 0;\r
   }\r
 \r
   //\r
   // Need extra glyph info and '\0' info, so +2.\r
   //\r
-  *OutputString = AllocateZeroPool ((StrOffset + 2) * sizeof(CHAR16));\r
+  *OutputString = AllocateZeroPool ((StrOffset + 2) * sizeof (CHAR16));\r
   if (*OutputString == NULL) {\r
     return 0;\r
   }\r
@@ -575,37 +576,37 @@ GetLineByWidth (
   //\r
   if (OriginalGlyphWidth == 1) {\r
     *(*OutputString) = NARROW_CHAR;\r
-  } else  {\r
+  } else {\r
     *(*OutputString) = WIDE_CHAR;\r
   }\r
 \r
-  CopyMem ((*OutputString) + 1, &InputString[*Index], StrOffset * sizeof(CHAR16));\r
+  CopyMem ((*OutputString) + 1, &InputString[*Index], StrOffset * sizeof (CHAR16));\r
 \r
   if (InputString[*Index + StrOffset] == CHAR_SPACE) {\r
     //\r
     // Skip the space info at the begin of next line.\r
     //\r
-    *Index = (UINT16) (*Index + StrOffset + 1);\r
+    *Index = (UINT16)(*Index + StrOffset + 1);\r
   } else if (InputString[*Index + StrOffset] == CHAR_LINEFEED) {\r
     //\r
     // Skip the /n or /n/r info.\r
     //\r
     if (InputString[*Index + StrOffset + 1] == CHAR_CARRIAGE_RETURN) {\r
-      *Index = (UINT16) (*Index + StrOffset + 2);\r
+      *Index = (UINT16)(*Index + StrOffset + 2);\r
     } else {\r
-      *Index = (UINT16) (*Index + StrOffset + 1);\r
+      *Index = (UINT16)(*Index + StrOffset + 1);\r
     }\r
   } else if (InputString[*Index + StrOffset] == CHAR_CARRIAGE_RETURN) {\r
     //\r
     // Skip the /r or /r/n info.\r
     //\r
     if (InputString[*Index + StrOffset + 1] == CHAR_LINEFEED) {\r
-      *Index = (UINT16) (*Index + StrOffset + 2);\r
+      *Index = (UINT16)(*Index + StrOffset + 2);\r
     } else {\r
-      *Index = (UINT16) (*Index + StrOffset + 1);\r
+      *Index = (UINT16)(*Index + StrOffset + 1);\r
     }\r
   } else {\r
-    *Index = (UINT16) (*Index + StrOffset);\r
+    *Index = (UINT16)(*Index + StrOffset);\r
   }\r
 \r
   //\r
@@ -624,20 +625,20 @@ GetLineByWidth (
 **/\r
 VOID\r
 UiAddMenuOption (\r
-  IN FORM_DISPLAY_ENGINE_STATEMENT   *Statement,\r
-  IN UINT16                          *MenuItemCount,\r
-  IN BOOLEAN                         NestIn\r
+  IN FORM_DISPLAY_ENGINE_STATEMENT  *Statement,\r
+  IN UINT16                         *MenuItemCount,\r
+  IN BOOLEAN                        NestIn\r
   )\r
 {\r
-  UI_MENU_OPTION   *MenuOption;\r
-  UINTN            Index;\r
-  UINTN            Count;\r
-  UINT16           NumberOfLines;\r
-  UINT16           GlyphWidth;\r
-  UINT16           Width;\r
-  UINTN            ArrayEntry;\r
-  CHAR16           *OutputString;\r
-  EFI_STRING_ID    PromptId;\r
+  UI_MENU_OPTION  *MenuOption;\r
+  UINTN           Index;\r
+  UINTN           Count;\r
+  UINT16          NumberOfLines;\r
+  UINT16          GlyphWidth;\r
+  UINT16          Width;\r
+  UINTN           ArrayEntry;\r
+  CHAR16          *OutputString;\r
+  EFI_STRING_ID   PromptId;\r
 \r
   NumberOfLines = 1;\r
   ArrayEntry    = 0;\r
@@ -648,7 +649,7 @@ UiAddMenuOption (
   PromptId = GetPrompt (Statement->OpCode);\r
   ASSERT (PromptId != 0);\r
 \r
-  if (Statement->OpCode->OpCode == EFI_IFR_DATE_OP || Statement->OpCode->OpCode == EFI_IFR_TIME_OP) {\r
+  if ((Statement->OpCode->OpCode == EFI_IFR_DATE_OP) || (Statement->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
     Count = 3;\r
   }\r
 \r
@@ -656,12 +657,12 @@ UiAddMenuOption (
     MenuOption = AllocateZeroPool (sizeof (UI_MENU_OPTION));\r
     ASSERT (MenuOption);\r
 \r
-    MenuOption->Signature   = UI_MENU_OPTION_SIGNATURE;\r
-    MenuOption->Description = GetToken (PromptId, gFormData->HiiHandle);\r
-    MenuOption->Handle      = gFormData->HiiHandle;\r
-    MenuOption->ThisTag     = Statement;\r
+    MenuOption->Signature       = UI_MENU_OPTION_SIGNATURE;\r
+    MenuOption->Description     = GetToken (PromptId, gFormData->HiiHandle);\r
+    MenuOption->Handle          = gFormData->HiiHandle;\r
+    MenuOption->ThisTag         = Statement;\r
     MenuOption->NestInStatement = NestIn;\r
-    MenuOption->EntryNumber = *MenuItemCount;\r
+    MenuOption->EntryNumber     = *MenuItemCount;\r
 \r
     MenuOption->Sequence = Index;\r
 \r
@@ -671,43 +672,44 @@ UiAddMenuOption (
       MenuOption->GrayOut = FALSE;\r
     }\r
 \r
-    if ((Statement->Attribute & HII_DISPLAY_LOCK) != 0 || (gFormData->Attribute & HII_DISPLAY_LOCK) != 0) {\r
+    if (((Statement->Attribute & HII_DISPLAY_LOCK) != 0) || ((gFormData->Attribute & HII_DISPLAY_LOCK) != 0)) {\r
       MenuOption->GrayOut = TRUE;\r
     }\r
 \r
     //\r
     // If the form or the question has the lock attribute, deal same as grayout.\r
     //\r
-    if ((gFormData->Attribute & HII_DISPLAY_LOCK) != 0 || (Statement->Attribute & HII_DISPLAY_LOCK) != 0) {\r
+    if (((gFormData->Attribute & HII_DISPLAY_LOCK) != 0) || ((Statement->Attribute & HII_DISPLAY_LOCK) != 0)) {\r
       MenuOption->GrayOut = TRUE;\r
     }\r
 \r
     switch (Statement->OpCode->OpCode) {\r
-    case EFI_IFR_ORDERED_LIST_OP:\r
-    case EFI_IFR_ONE_OF_OP:\r
-    case EFI_IFR_NUMERIC_OP:\r
-    case EFI_IFR_TIME_OP:\r
-    case EFI_IFR_DATE_OP:\r
-    case EFI_IFR_CHECKBOX_OP:\r
-    case EFI_IFR_PASSWORD_OP:\r
-    case EFI_IFR_STRING_OP:\r
-      //\r
-      // User could change the value of these items\r
-      //\r
-      MenuOption->IsQuestion = TRUE;\r
-      break;\r
-    case EFI_IFR_TEXT_OP:\r
-      if (FeaturePcdGet (PcdBrowserGrayOutTextStatement)) {\r
+      case EFI_IFR_ORDERED_LIST_OP:\r
+      case EFI_IFR_ONE_OF_OP:\r
+      case EFI_IFR_NUMERIC_OP:\r
+      case EFI_IFR_TIME_OP:\r
+      case EFI_IFR_DATE_OP:\r
+      case EFI_IFR_CHECKBOX_OP:\r
+      case EFI_IFR_PASSWORD_OP:\r
+      case EFI_IFR_STRING_OP:\r
         //\r
-        // Initializing GrayOut option as TRUE for Text setup options\r
-        // so that those options will be Gray in colour and un selectable.\r
+        // User could change the value of these items\r
         //\r
-        MenuOption->GrayOut = TRUE;\r
-      }\r
-      break;\r
-    default:\r
-      MenuOption->IsQuestion = FALSE;\r
-      break;\r
+        MenuOption->IsQuestion = TRUE;\r
+        break;\r
+      case EFI_IFR_TEXT_OP:\r
+        if (FeaturePcdGet (PcdBrowserGrayOutTextStatement)) {\r
+          //\r
+          // Initializing GrayOut option as TRUE for Text setup options\r
+          // so that those options will be Gray in colour and un selectable.\r
+          //\r
+          MenuOption->GrayOut = TRUE;\r
+        }\r
+\r
+        break;\r
+      default:\r
+        MenuOption->IsQuestion = FALSE;\r
+        break;\r
     }\r
 \r
     if ((Statement->Attribute & HII_DISPLAY_READONLY) != 0) {\r
@@ -717,17 +719,19 @@ UiAddMenuOption (
       }\r
     }\r
 \r
-    if (Index == 0 &&\r
-      (Statement->OpCode->OpCode != EFI_IFR_DATE_OP) &&\r
-      (Statement->OpCode->OpCode != EFI_IFR_TIME_OP)) {\r
-      Width  = GetWidth (MenuOption, NULL);\r
-      for (; GetLineByWidth (MenuOption->Description, Width, &GlyphWidth,&ArrayEntry, &OutputString) != 0x0000;) {\r
+    if ((Index == 0) &&\r
+        (Statement->OpCode->OpCode != EFI_IFR_DATE_OP) &&\r
+        (Statement->OpCode->OpCode != EFI_IFR_TIME_OP))\r
+    {\r
+      Width = GetWidth (MenuOption, NULL);\r
+      for ( ; GetLineByWidth (MenuOption->Description, Width, &GlyphWidth, &ArrayEntry, &OutputString) != 0x0000;) {\r
         //\r
         // If there is more string to process print on the next row and increment the Skip value\r
         //\r
         if (StrLen (&MenuOption->Description[ArrayEntry]) != 0) {\r
           NumberOfLines++;\r
         }\r
+\r
         FreePool (OutputString);\r
       }\r
     } else {\r
@@ -763,11 +767,11 @@ ConvertStatementToMenu (
   VOID\r
   )\r
 {\r
-  UINT16                        MenuItemCount;\r
-  LIST_ENTRY                    *Link;\r
-  LIST_ENTRY                    *NestLink;\r
-  FORM_DISPLAY_ENGINE_STATEMENT *Statement;\r
-  FORM_DISPLAY_ENGINE_STATEMENT *NestStatement;\r
+  UINT16                         MenuItemCount;\r
+  LIST_ENTRY                     *Link;\r
+  LIST_ENTRY                     *NestLink;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *NestStatement;\r
 \r
   MenuItemCount = 0;\r
   InitializeListHead (&gMenuOption);\r
@@ -775,7 +779,7 @@ ConvertStatementToMenu (
   Link = GetFirstNode (&gFormData->StatementListHead);\r
   while (!IsNull (&gFormData->StatementListHead, Link)) {\r
     Statement = FORM_DISPLAY_ENGINE_STATEMENT_FROM_LINK (Link);\r
-    Link = GetNextNode (&gFormData->StatementListHead, Link);\r
+    Link      = GetNextNode (&gFormData->StatementListHead, Link);\r
 \r
     //\r
     // Skip the opcode not recognized by Display core.\r
@@ -792,7 +796,7 @@ ConvertStatementToMenu (
     NestLink = GetFirstNode (&Statement->NestStatementList);\r
     while (!IsNull (&Statement->NestStatementList, NestLink)) {\r
       NestStatement = FORM_DISPLAY_ENGINE_STATEMENT_FROM_LINK (NestLink);\r
-      NestLink = GetNextNode (&Statement->NestStatementList, NestLink);\r
+      NestLink      = GetNextNode (&Statement->NestStatementList, NestLink);\r
 \r
       //\r
       // Skip the opcode not recognized by Display core.\r
@@ -824,31 +828,32 @@ ConvertStatementToMenu (
 **/\r
 UINTN\r
 GetStringWidth (\r
-  IN CHAR16               *String\r
+  IN CHAR16  *String\r
   )\r
 {\r
-  UINTN Index;\r
-  UINTN Count;\r
-  UINTN IncrementValue;\r
+  UINTN  Index;\r
+  UINTN  Count;\r
+  UINTN  IncrementValue;\r
 \r
   ASSERT (String != NULL);\r
   if (String == NULL) {\r
     return 0;\r
   }\r
 \r
-  Index           = 0;\r
-  Count           = 0;\r
-  IncrementValue  = 1;\r
+  Index          = 0;\r
+  Count          = 0;\r
+  IncrementValue = 1;\r
 \r
   do {\r
     //\r
     // Advance to the null-terminator or to the first width directive\r
     //\r
-    for (;\r
-         (String[Index] != NARROW_CHAR) && (String[Index] != WIDE_CHAR) && (String[Index] != 0);\r
-         Index++, Count = Count + IncrementValue\r
-        )\r
-      ;\r
+    for ( ;\r
+          (String[Index] != NARROW_CHAR) && (String[Index] != WIDE_CHAR) && (String[Index] != 0);\r
+          Index++, Count = Count + IncrementValue\r
+          )\r
+    {\r
+    }\r
 \r
     //\r
     // We hit the null-terminator, we now have a count\r
@@ -856,6 +861,7 @@ GetStringWidth (
     if (String[Index] == 0) {\r
       break;\r
     }\r
+\r
     //\r
     // We encountered a narrow directive - strip it from the size calculation since it doesn't get printed\r
     // and also set the flag that determines what we increment by.(if narrow, increment by 1, if wide increment by 2)\r
@@ -892,8 +898,8 @@ GetStringWidth (
 **/\r
 VOID\r
 UpdateSkipInfoForMenu (\r
-  IN UI_MENU_OPTION               *MenuOption,\r
-  IN CHAR16                       *OptionString\r
+  IN UI_MENU_OPTION  *MenuOption,\r
+  IN CHAR16          *OptionString\r
   )\r
 {\r
   UINTN   Index;\r
@@ -902,9 +908,9 @@ UpdateSkipInfoForMenu (
   CHAR16  *OutputString;\r
   UINT16  GlyphWidth;\r
 \r
-  Width         = (UINT16) gOptionBlockWidth - 1;\r
-  GlyphWidth    = 1;\r
-  Row           = 1;\r
+  Width      = (UINT16)gOptionBlockWidth - 1;\r
+  GlyphWidth = 1;\r
+  Row        = 1;\r
 \r
   for (Index = 0; GetLineByWidth (OptionString, Width, &GlyphWidth, &Index, &OutputString) != 0x0000;) {\r
     if (StrLen (&OptionString[Index]) != 0) {\r
@@ -916,7 +922,8 @@ UpdateSkipInfoForMenu (
 \r
   if ((Row > MenuOption->Skip) &&\r
       (MenuOption->ThisTag->OpCode->OpCode != EFI_IFR_DATE_OP) &&\r
-      (MenuOption->ThisTag->OpCode->OpCode != EFI_IFR_TIME_OP)) {\r
+      (MenuOption->ThisTag->OpCode->OpCode != EFI_IFR_TIME_OP))\r
+  {\r
     MenuOption->Skip = Row;\r
   }\r
 }\r
@@ -929,12 +936,12 @@ UpdateSkipInfoForMenu (
 **/\r
 VOID\r
 UpdateOptionSkipLines (\r
-  IN UI_MENU_OPTION               *MenuOption\r
+  IN UI_MENU_OPTION  *MenuOption\r
   )\r
 {\r
   CHAR16  *OptionString;\r
 \r
-  OptionString  = NULL;\r
+  OptionString = NULL;\r
 \r
   ProcessOptions (MenuOption, FALSE, &OptionString, TRUE);\r
   if (OptionString != NULL) {\r
@@ -943,8 +950,8 @@ UpdateOptionSkipLines (
     FreePool (OptionString);\r
   }\r
 \r
-  if ((MenuOption->ThisTag->OpCode->OpCode  == EFI_IFR_TEXT_OP) && (((EFI_IFR_TEXT*)MenuOption->ThisTag->OpCode)->TextTwo != 0)) {\r
-    OptionString   = GetToken (((EFI_IFR_TEXT*)MenuOption->ThisTag->OpCode)->TextTwo, gFormData->HiiHandle);\r
+  if ((MenuOption->ThisTag->OpCode->OpCode  == EFI_IFR_TEXT_OP) && (((EFI_IFR_TEXT *)MenuOption->ThisTag->OpCode)->TextTwo != 0)) {\r
+    OptionString = GetToken (((EFI_IFR_TEXT *)MenuOption->ThisTag->OpCode)->TextTwo, gFormData->HiiHandle);\r
 \r
     if (OptionString != NULL) {\r
       UpdateSkipInfoForMenu (MenuOption, OptionString);\r
@@ -969,11 +976,11 @@ UpdateOptionSkipLines (
 **/\r
 BOOLEAN\r
 PrintableMenu (\r
-  UI_MENU_OPTION   *MenuOption\r
+  UI_MENU_OPTION  *MenuOption\r
   )\r
 {\r
-  EFI_STATUS    Status;\r
-  EFI_STRING    OptionString;\r
+  EFI_STATUS  Status;\r
+  EFI_STRING  OptionString;\r
 \r
   OptionString = NULL;\r
 \r
@@ -985,15 +992,16 @@ PrintableMenu (
   if (EFI_ERROR (Status)) {\r
     return FALSE;\r
   }\r
-  if (OptionString != NULL && OptionString[0] != '\0') {\r
+\r
+  if ((OptionString != NULL) && (OptionString[0] != '\0')) {\r
     FreePool (OptionString);\r
     return TRUE;\r
   }\r
 \r
-  if ((MenuOption->ThisTag->OpCode->OpCode  == EFI_IFR_TEXT_OP) && (((EFI_IFR_TEXT*)MenuOption->ThisTag->OpCode)->TextTwo != 0)) {\r
-    OptionString   = GetToken (((EFI_IFR_TEXT*)MenuOption->ThisTag->OpCode)->TextTwo, gFormData->HiiHandle);\r
+  if ((MenuOption->ThisTag->OpCode->OpCode  == EFI_IFR_TEXT_OP) && (((EFI_IFR_TEXT *)MenuOption->ThisTag->OpCode)->TextTwo != 0)) {\r
+    OptionString = GetToken (((EFI_IFR_TEXT *)MenuOption->ThisTag->OpCode)->TextTwo, gFormData->HiiHandle);\r
     ASSERT (OptionString != NULL);\r
-    if (OptionString[0] != '\0'){\r
+    if (OptionString[0] != '\0') {\r
       FreePool (OptionString);\r
       return TRUE;\r
     }\r
@@ -1015,11 +1023,12 @@ PrintableMenu (
 **/\r
 BOOLEAN\r
 IsSelectable (\r
-  UI_MENU_OPTION   *MenuOption\r
+  UI_MENU_OPTION  *MenuOption\r
   )\r
 {\r
   if ((MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_SUBTITLE_OP) ||\r
-      MenuOption->GrayOut || MenuOption->ReadOnly || !PrintableMenu (MenuOption)) {\r
+      MenuOption->GrayOut || MenuOption->ReadOnly || !PrintableMenu (MenuOption))\r
+  {\r
     return FALSE;\r
   } else {\r
     return TRUE;\r
@@ -1048,19 +1057,19 @@ IsSelectable (
 **/\r
 INTN\r
 MoveToNextStatement (\r
-  IN     BOOLEAN                   GoUp,\r
-  IN OUT LIST_ENTRY                **CurrentPosition,\r
-  IN     UINTN                     GapToTop,\r
-  IN     BOOLEAN                   FindInForm\r
+  IN     BOOLEAN     GoUp,\r
+  IN OUT LIST_ENTRY  **CurrentPosition,\r
+  IN     UINTN       GapToTop,\r
+  IN     BOOLEAN     FindInForm\r
   )\r
 {\r
-  INTN             Distance;\r
-  LIST_ENTRY       *Pos;\r
-  UI_MENU_OPTION   *NextMenuOption;\r
-  UI_MENU_OPTION   *PreMenuOption;\r
+  INTN            Distance;\r
+  LIST_ENTRY      *Pos;\r
+  UI_MENU_OPTION  *NextMenuOption;\r
+  UI_MENU_OPTION  *PreMenuOption;\r
 \r
-  Distance      = 0;\r
-  Pos           = *CurrentPosition;\r
+  Distance = 0;\r
+  Pos      = *CurrentPosition;\r
 \r
   if (Pos == &gMenuOption) {\r
     return -1;\r
@@ -1082,10 +1091,11 @@ MoveToNextStatement (
     // Check whether the menu is beyond current showing form,\r
     // return the first one beyond the showing form.\r
     //\r
-    if ((UINTN) Distance + NextMenuOption->Skip > GapToTop) {\r
+    if ((UINTN)Distance + NextMenuOption->Skip > GapToTop) {\r
       if (FindInForm) {\r
         NextMenuOption = PreMenuOption;\r
       }\r
+\r
       break;\r
     }\r
 \r
@@ -1106,7 +1116,7 @@ MoveToNextStatement (
       break;\r
     }\r
 \r
-    Pos = (GoUp ? Pos->BackLink : Pos->ForwardLink);\r
+    Pos           = (GoUp ? Pos->BackLink : Pos->ForwardLink);\r
     PreMenuOption = NextMenuOption;\r
   }\r
 \r
@@ -1114,7 +1124,6 @@ MoveToNextStatement (
   return Distance;\r
 }\r
 \r
-\r
 /**\r
   Process option string for date/time opcode.\r
 \r
@@ -1125,16 +1134,16 @@ MoveToNextStatement (
 **/\r
 VOID\r
 ProcessStringForDateTime (\r
-  UI_MENU_OPTION                  *MenuOption,\r
-  CHAR16                          *OptionString,\r
-  BOOLEAN                         AddOptCol\r
+  UI_MENU_OPTION  *MenuOption,\r
+  CHAR16          *OptionString,\r
+  BOOLEAN         AddOptCol\r
   )\r
 {\r
-  UINTN Index;\r
-  UINTN Count;\r
-  FORM_DISPLAY_ENGINE_STATEMENT          *Statement;\r
-  EFI_IFR_DATE                           *Date;\r
-  EFI_IFR_TIME                           *Time;\r
+  UINTN                          Index;\r
+  UINTN                          Count;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
+  EFI_IFR_DATE                   *Date;\r
+  EFI_IFR_TIME                   *Time;\r
 \r
   ASSERT (MenuOption != NULL && OptionString != NULL);\r
 \r
@@ -1142,9 +1151,9 @@ ProcessStringForDateTime (
   Date      = NULL;\r
   Time      = NULL;\r
   if (Statement->OpCode->OpCode == EFI_IFR_DATE_OP) {\r
-    Date = (EFI_IFR_DATE *) Statement->OpCode;\r
+    Date = (EFI_IFR_DATE *)Statement->OpCode;\r
   } else if (Statement->OpCode->OpCode == EFI_IFR_TIME_OP) {\r
-    Time = (EFI_IFR_TIME *) Statement->OpCode;\r
+    Time = (EFI_IFR_TIME *)Statement->OpCode;\r
   }\r
 \r
   //\r
@@ -1163,6 +1172,7 @@ ProcessStringForDateTime (
     OptionString[Count] = OptionString[Index];\r
     Count++;\r
   }\r
+\r
   OptionString[Count] = CHAR_NULL;\r
 \r
   //\r
@@ -1221,7 +1231,6 @@ ProcessStringForDateTime (
   }\r
 }\r
 \r
-\r
 /**\r
   Adjust Data and Time position accordingly.\r
   Data format :      [01/02/2004]      [11:22:33]\r
@@ -1241,8 +1250,8 @@ ProcessStringForDateTime (
 **/\r
 UINTN\r
 AdjustDateAndTimePosition (\r
-  IN     BOOLEAN                     DirectionUp,\r
-  IN OUT LIST_ENTRY                  **CurrentPosition\r
+  IN     BOOLEAN     DirectionUp,\r
+  IN OUT LIST_ENTRY  **CurrentPosition\r
   )\r
 {\r
   UINTN           Count;\r
@@ -1255,7 +1264,8 @@ AdjustDateAndTimePosition (
   MenuOption    = MENU_OPTION_FROM_LINK (NewPosition);\r
 \r
   if ((MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_DATE_OP) ||\r
-      (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
+      (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_TIME_OP))\r
+  {\r
     //\r
     // Calculate the distance from current position to the last Date/Time MenuOption\r
     //\r
@@ -1305,34 +1315,34 @@ AdjustDateAndTimePosition (
 **/\r
 UINT64\r
 GetFieldFromNum (\r
-  IN  EFI_IFR_OP_HEADER     *OpCode\r
+  IN  EFI_IFR_OP_HEADER  *OpCode\r
   )\r
 {\r
-  EFI_IFR_NUMERIC       *NumericOp;\r
-  UINT64                Step;\r
+  EFI_IFR_NUMERIC  *NumericOp;\r
+  UINT64           Step;\r
 \r
-  NumericOp = (EFI_IFR_NUMERIC *) OpCode;\r
+  NumericOp = (EFI_IFR_NUMERIC *)OpCode;\r
 \r
   switch (NumericOp->Flags & EFI_IFR_NUMERIC_SIZE) {\r
-  case EFI_IFR_NUMERIC_SIZE_1:\r
-    Step    = NumericOp->data.u8.Step;\r
-    break;\r
+    case EFI_IFR_NUMERIC_SIZE_1:\r
+      Step = NumericOp->data.u8.Step;\r
+      break;\r
 \r
-  case EFI_IFR_NUMERIC_SIZE_2:\r
-    Step    = NumericOp->data.u16.Step;\r
-    break;\r
+    case EFI_IFR_NUMERIC_SIZE_2:\r
+      Step = NumericOp->data.u16.Step;\r
+      break;\r
 \r
-  case EFI_IFR_NUMERIC_SIZE_4:\r
-    Step    = NumericOp->data.u32.Step;\r
-    break;\r
+    case EFI_IFR_NUMERIC_SIZE_4:\r
+      Step = NumericOp->data.u32.Step;\r
+      break;\r
 \r
-  case EFI_IFR_NUMERIC_SIZE_8:\r
-    Step    = NumericOp->data.u64.Step;\r
-    break;\r
+    case EFI_IFR_NUMERIC_SIZE_8:\r
+      Step = NumericOp->data.u64.Step;\r
+      break;\r
 \r
-  default:\r
-    Step = 0;\r
-    break;\r
+    default:\r
+      Step = 0;\r
+      break;\r
   }\r
 \r
   return Step;\r
@@ -1348,7 +1358,7 @@ GetFieldFromNum (
 **/\r
 BROWSER_HOT_KEY *\r
 GetHotKeyFromRegisterList (\r
-  IN EFI_INPUT_KEY *KeyData\r
+  IN EFI_INPUT_KEY  *KeyData\r
   )\r
 {\r
   LIST_ENTRY       *Link;\r
@@ -1368,7 +1378,6 @@ GetHotKeyFromRegisterList (
   return NULL;\r
 }\r
 \r
-\r
 /**\r
   Determine if the menu is the last menu that can be selected.\r
 \r
@@ -1383,11 +1392,11 @@ GetHotKeyFromRegisterList (
 **/\r
 BOOLEAN\r
 ValueIsScroll (\r
-  IN  BOOLEAN                     Direction,\r
-  IN  LIST_ENTRY                  *CurrentPos\r
+  IN  BOOLEAN     Direction,\r
+  IN  LIST_ENTRY  *CurrentPos\r
   )\r
 {\r
-  LIST_ENTRY      *Temp;\r
+  LIST_ENTRY  *Temp;\r
 \r
   Temp = Direction ? CurrentPos->BackLink : CurrentPos->ForwardLink;\r
 \r
@@ -1408,19 +1417,19 @@ ValueIsScroll (
 **/\r
 UI_EVENT_TYPE\r
 UiWaitForEvent (\r
-  IN EFI_EVENT                Event\r
+  IN EFI_EVENT  Event\r
   )\r
 {\r
-  EFI_STATUS  Status;\r
-  UINTN       Index;\r
-  UINTN       EventNum;\r
-  UINT64      Timeout;\r
-  EFI_EVENT   TimerEvent;\r
-  EFI_EVENT   WaitList[3];\r
+  EFI_STATUS     Status;\r
+  UINTN          Index;\r
+  UINTN          EventNum;\r
+  UINT64         Timeout;\r
+  EFI_EVENT      TimerEvent;\r
+  EFI_EVENT      WaitList[3];\r
   UI_EVENT_TYPE  EventType;\r
 \r
   TimerEvent = NULL;\r
-  Timeout    = FormExitTimeout(gFormData);\r
+  Timeout    = FormExitTimeout (gFormData);\r
 \r
   if (Timeout != 0) {\r
     Status = gBS->CreateEvent (EVT_TIMER, 0, NULL, NULL, &TimerEvent);\r
@@ -1429,45 +1438,46 @@ UiWaitForEvent (
     // Set the timer event\r
     //\r
     gBS->SetTimer (\r
-          TimerEvent,\r
-          TimerRelative,\r
-          Timeout\r
-          );\r
+           TimerEvent,\r
+           TimerRelative,\r
+           Timeout\r
+           );\r
   }\r
 \r
   WaitList[0] = Event;\r
   EventNum    = 1;\r
   if (gFormData->FormRefreshEvent != NULL) {\r
     WaitList[EventNum] = gFormData->FormRefreshEvent;\r
-    EventNum ++;\r
+    EventNum++;\r
   }\r
 \r
   if (Timeout != 0) {\r
     WaitList[EventNum] = TimerEvent;\r
-    EventNum ++;\r
+    EventNum++;\r
   }\r
 \r
   Status = gBS->WaitForEvent (EventNum, WaitList, &Index);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   switch (Index) {\r
-  case 0:\r
-   EventType = UIEventKey;\r
-   break;\r
+    case 0:\r
+      EventType = UIEventKey;\r
+      break;\r
 \r
-  case 1:\r
-    if (gFormData->FormRefreshEvent != NULL) {\r
-      EventType = UIEventDriver;\r
-    } else {\r
-      ASSERT (Timeout != 0 && EventNum == 2);\r
-      EventType = UIEventTimeOut;\r
-    }\r
-    break;\r
+    case 1:\r
+      if (gFormData->FormRefreshEvent != NULL) {\r
+        EventType = UIEventDriver;\r
+      } else {\r
+        ASSERT (Timeout != 0 && EventNum == 2);\r
+        EventType = UIEventTimeOut;\r
+      }\r
 \r
-  default:\r
-    ASSERT (Index == 2 && EventNum == 3);\r
-    EventType = UIEventTimeOut;\r
-    break;\r
+      break;\r
+\r
+    default:\r
+      ASSERT (Index == 2 && EventNum == 3);\r
+      EventType = UIEventTimeOut;\r
+      break;\r
   }\r
 \r
   if (Timeout != 0) {\r
@@ -1487,21 +1497,20 @@ UiWaitForEvent (
 **/\r
 EFI_QUESTION_ID\r
 GetQuestionIdInfo (\r
-  IN   EFI_IFR_OP_HEADER     *OpCode\r
+  IN   EFI_IFR_OP_HEADER  *OpCode\r
   )\r
 {\r
-  EFI_IFR_QUESTION_HEADER   *QuestionHeader;\r
+  EFI_IFR_QUESTION_HEADER  *QuestionHeader;\r
 \r
   if (OpCode->Length < sizeof (EFI_IFR_OP_HEADER) + sizeof (EFI_IFR_QUESTION_HEADER)) {\r
     return 0;\r
   }\r
 \r
-  QuestionHeader = (EFI_IFR_QUESTION_HEADER *)((UINT8 *) OpCode + sizeof(EFI_IFR_OP_HEADER));\r
+  QuestionHeader = (EFI_IFR_QUESTION_HEADER *)((UINT8 *)OpCode + sizeof (EFI_IFR_OP_HEADER));\r
 \r
   return QuestionHeader->QuestionId;\r
 }\r
 \r
-\r
 /**\r
   Find the top of screen menu base on the current menu.\r
 \r
@@ -1514,40 +1523,42 @@ GetQuestionIdInfo (
 **/\r
 LIST_ENTRY *\r
 FindTopOfScreenMenu (\r
-  IN  LIST_ENTRY                      *CurPos,\r
-  IN  UINTN                           Rows,\r
-  OUT UINTN                           *SkipValue\r
+  IN  LIST_ENTRY  *CurPos,\r
+  IN  UINTN       Rows,\r
+  OUT UINTN       *SkipValue\r
   )\r
 {\r
-  LIST_ENTRY        *Link;\r
-  LIST_ENTRY        *TopOfScreen;\r
-  UI_MENU_OPTION    *PreviousMenuOption;\r
+  LIST_ENTRY      *Link;\r
+  LIST_ENTRY      *TopOfScreen;\r
+  UI_MENU_OPTION  *PreviousMenuOption;\r
 \r
-  Link = CurPos;\r
+  Link               = CurPos;\r
   PreviousMenuOption = NULL;\r
 \r
   while (Link->BackLink != &gMenuOption) {\r
-    Link = Link->BackLink;\r
+    Link               = Link->BackLink;\r
     PreviousMenuOption = MENU_OPTION_FROM_LINK (Link);\r
     if (PreviousMenuOption->Row == 0) {\r
       UpdateOptionSkipLines (PreviousMenuOption);\r
     }\r
+\r
     if (Rows <= PreviousMenuOption->Skip) {\r
       break;\r
     }\r
+\r
     Rows = Rows - PreviousMenuOption->Skip;\r
   }\r
 \r
   if (Link->BackLink == &gMenuOption) {\r
     TopOfScreen = gMenuOption.ForwardLink;\r
-    if (PreviousMenuOption != NULL && Rows < PreviousMenuOption->Skip) {\r
+    if ((PreviousMenuOption != NULL) && (Rows < PreviousMenuOption->Skip)) {\r
       *SkipValue = PreviousMenuOption->Skip - Rows;\r
     } else {\r
       *SkipValue = 0;\r
     }\r
   } else {\r
     TopOfScreen = Link;\r
-    *SkipValue = PreviousMenuOption->Skip - Rows;\r
+    *SkipValue  = PreviousMenuOption->Skip - Rows;\r
   }\r
 \r
   return TopOfScreen;\r
@@ -1566,14 +1577,14 @@ GetIndexInfoForOpcode (
   IN EFI_IFR_OP_HEADER  *OpCode\r
   )\r
 {\r
-  LIST_ENTRY                      *NewPos;\r
-  UI_MENU_OPTION                  *MenuOption;\r
-  UINTN                           Index;\r
+  LIST_ENTRY      *NewPos;\r
+  UI_MENU_OPTION  *MenuOption;\r
+  UINTN           Index;\r
 \r
   NewPos = gMenuOption.ForwardLink;\r
   Index  = 0;\r
 \r
-  for (NewPos = gMenuOption.ForwardLink; NewPos != &gMenuOption; NewPos = NewPos->ForwardLink){\r
+  for (NewPos = gMenuOption.ForwardLink; NewPos != &gMenuOption; NewPos = NewPos->ForwardLink) {\r
     MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
 \r
     if (CompareMem (MenuOption->ThisTag->OpCode, OpCode, OpCode->Length) == 0) {\r
@@ -1581,7 +1592,7 @@ GetIndexInfoForOpcode (
         return Index;\r
       }\r
 \r
-      Index ++;\r
+      Index++;\r
     }\r
   }\r
 \r
@@ -1603,12 +1614,13 @@ IsSavedHighlightStatement (
   )\r
 {\r
   if ((gFormData->HiiHandle == gHighligthMenuInfo.HiiHandle) &&\r
-      (gFormData->FormId == gHighligthMenuInfo.FormId)) {\r
+      (gFormData->FormId == gHighligthMenuInfo.FormId))\r
+  {\r
     if (gHighligthMenuInfo.HLTQuestionId != 0) {\r
-      return (BOOLEAN) (gHighligthMenuInfo.HLTQuestionId == GetQuestionIdInfo (HighLightedStatement->OpCode));\r
+      return (BOOLEAN)(gHighligthMenuInfo.HLTQuestionId == GetQuestionIdInfo (HighLightedStatement->OpCode));\r
     } else {\r
       if (CompareMem (gHighligthMenuInfo.HLTOpCode, HighLightedStatement->OpCode, gHighligthMenuInfo.HLTOpCode->Length) == 0) {\r
-        if (gHighligthMenuInfo.HLTIndex == 0 || gHighligthMenuInfo.HLTIndex == GetIndexInfoForOpcode(HighLightedStatement->OpCode)) {\r
+        if ((gHighligthMenuInfo.HLTIndex == 0) || (gHighligthMenuInfo.HLTIndex == GetIndexInfoForOpcode (HighLightedStatement->OpCode))) {\r
           return TRUE;\r
         } else {\r
           return FALSE;\r
@@ -1631,17 +1643,17 @@ IsSavedHighlightStatement (
 **/\r
 BOOLEAN\r
 IsHighLightMenuOption (\r
-  IN UI_MENU_OPTION     *MenuOption\r
+  IN UI_MENU_OPTION  *MenuOption\r
   )\r
 {\r
   if (gHighligthMenuInfo.HLTQuestionId != 0) {\r
-    if (GetQuestionIdInfo(MenuOption->ThisTag->OpCode) == gHighligthMenuInfo.HLTQuestionId) {\r
-      return (BOOLEAN) (MenuOption->Sequence == gHighligthMenuInfo.HLTSequence);\r
+    if (GetQuestionIdInfo (MenuOption->ThisTag->OpCode) == gHighligthMenuInfo.HLTQuestionId) {\r
+      return (BOOLEAN)(MenuOption->Sequence == gHighligthMenuInfo.HLTSequence);\r
     }\r
   } else {\r
-    if(CompareMem (gHighligthMenuInfo.HLTOpCode, MenuOption->ThisTag->OpCode, gHighligthMenuInfo.HLTOpCode->Length) == 0) {\r
-      if (gHighligthMenuInfo.HLTIndex == 0 || gHighligthMenuInfo.HLTIndex == GetIndexInfoForOpcode(MenuOption->ThisTag->OpCode)) {\r
-        return (BOOLEAN) (MenuOption->Sequence == gHighligthMenuInfo.HLTSequence);\r
+    if (CompareMem (gHighligthMenuInfo.HLTOpCode, MenuOption->ThisTag->OpCode, gHighligthMenuInfo.HLTOpCode->Length) == 0) {\r
+      if ((gHighligthMenuInfo.HLTIndex == 0) || (gHighligthMenuInfo.HLTIndex == GetIndexInfoForOpcode (MenuOption->ThisTag->OpCode))) {\r
+        return (BOOLEAN)(MenuOption->Sequence == gHighligthMenuInfo.HLTSequence);\r
       } else {\r
         return FALSE;\r
       }\r
@@ -1664,24 +1676,25 @@ IsHighLightMenuOption (
 **/\r
 LIST_ENTRY *\r
 FindHighLightMenuOption (\r
- IN FORM_DISPLAY_ENGINE_STATEMENT  *HighLightedStatement\r
- )\r
 IN FORM_DISPLAY_ENGINE_STATEMENT  *HighLightedStatement\r
 )\r
 {\r
-  LIST_ENTRY                      *NewPos;\r
-  UI_MENU_OPTION                  *MenuOption;\r
+  LIST_ENTRY      *NewPos;\r
+  UI_MENU_OPTION  *MenuOption;\r
 \r
-  NewPos = gMenuOption.ForwardLink;\r
+  NewPos     = gMenuOption.ForwardLink;\r
   MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
 \r
   if (HighLightedStatement != NULL) {\r
     while (MenuOption->ThisTag != HighLightedStatement) {\r
-      NewPos     = NewPos->ForwardLink;\r
+      NewPos = NewPos->ForwardLink;\r
       if (NewPos == &gMenuOption) {\r
         //\r
         // Not Found it, break\r
         //\r
         break;\r
       }\r
+\r
       MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
     }\r
 \r
@@ -1689,16 +1702,16 @@ FindHighLightMenuOption (
     // Must find the highlight statement.\r
     //\r
     ASSERT (NewPos != &gMenuOption);\r
-\r
   } else {\r
     while (!IsHighLightMenuOption (MenuOption)) {\r
-      NewPos     = NewPos->ForwardLink;\r
+      NewPos = NewPos->ForwardLink;\r
       if (NewPos == &gMenuOption) {\r
         //\r
         // Not Found it, break\r
         //\r
         break;\r
       }\r
+\r
       MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
     }\r
 \r
@@ -1724,15 +1737,15 @@ FindHighLightMenuOption (
 **/\r
 BOOLEAN\r
 IsTopOfScreeMenuOption (\r
-  IN UI_MENU_OPTION     *MenuOption\r
+  IN UI_MENU_OPTION  *MenuOption\r
   )\r
 {\r
   if (gHighligthMenuInfo.TOSQuestionId != 0) {\r
-    return (BOOLEAN) (GetQuestionIdInfo(MenuOption->ThisTag->OpCode) == gHighligthMenuInfo.TOSQuestionId);\r
+    return (BOOLEAN)(GetQuestionIdInfo (MenuOption->ThisTag->OpCode) == gHighligthMenuInfo.TOSQuestionId);\r
   }\r
 \r
-  if(CompareMem (gHighligthMenuInfo.TOSOpCode, MenuOption->ThisTag->OpCode, gHighligthMenuInfo.TOSOpCode->Length) == 0) {\r
-    if (gHighligthMenuInfo.TOSIndex == 0 || gHighligthMenuInfo.TOSIndex == GetIndexInfoForOpcode(MenuOption->ThisTag->OpCode)) {\r
+  if (CompareMem (gHighligthMenuInfo.TOSOpCode, MenuOption->ThisTag->OpCode, gHighligthMenuInfo.TOSOpCode->Length) == 0) {\r
+    if ((gHighligthMenuInfo.TOSIndex == 0) || (gHighligthMenuInfo.TOSIndex == GetIndexInfoForOpcode (MenuOption->ThisTag->OpCode))) {\r
       return TRUE;\r
     } else {\r
       return FALSE;\r
@@ -1750,14 +1763,14 @@ IsTopOfScreeMenuOption (
 \r
 **/\r
 UINTN\r
-GetDistanceBetweenMenus(\r
+GetDistanceBetweenMenus (\r
   IN LIST_ENTRY  *StartMenu,\r
   IN LIST_ENTRY  *EndMenu\r
-)\r
+  )\r
 {\r
-  LIST_ENTRY                 *Link;\r
-  UI_MENU_OPTION             *MenuOption;\r
-  UINTN                      Distance;\r
+  LIST_ENTRY      *Link;\r
+  UI_MENU_OPTION  *MenuOption;\r
+  UINTN           Distance;\r
 \r
   Distance = 0;\r
 \r
@@ -1767,9 +1780,11 @@ GetDistanceBetweenMenus(
     if (MenuOption->Row == 0) {\r
       UpdateOptionSkipLines (MenuOption);\r
     }\r
+\r
     Distance += MenuOption->Skip;\r
-    Link = Link->BackLink;\r
+    Link      = Link->BackLink;\r
   }\r
+\r
   return Distance;\r
 }\r
 \r
@@ -1783,28 +1798,29 @@ GetDistanceBetweenMenus(
 **/\r
 LIST_ENTRY *\r
 FindTopOfScreenMenuOption (\r
-  IN LIST_ENTRY                   *HighLightMenu\r
+  IN LIST_ENTRY  *HighLightMenu\r
   )\r
 {\r
-  LIST_ENTRY                      *NewPos;\r
-  UI_MENU_OPTION                  *MenuOption;\r
-  UINTN                           TopRow;\r
-  UINTN                           BottomRow;\r
+  LIST_ENTRY      *NewPos;\r
+  UI_MENU_OPTION  *MenuOption;\r
+  UINTN           TopRow;\r
+  UINTN           BottomRow;\r
 \r
   TopRow    = gStatementDimensions.TopRow    + SCROLL_ARROW_HEIGHT;\r
   BottomRow = gStatementDimensions.BottomRow - SCROLL_ARROW_HEIGHT;\r
 \r
-  NewPos = gMenuOption.ForwardLink;\r
+  NewPos     = gMenuOption.ForwardLink;\r
   MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
 \r
-  while (!IsTopOfScreeMenuOption(MenuOption)) {\r
-    NewPos     = NewPos->ForwardLink;\r
+  while (!IsTopOfScreeMenuOption (MenuOption)) {\r
+    NewPos = NewPos->ForwardLink;\r
     if (NewPos == &gMenuOption) {\r
       //\r
       // Not Found it, break\r
       //\r
       break;\r
     }\r
+\r
     MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
   }\r
 \r
@@ -1814,6 +1830,7 @@ FindTopOfScreenMenuOption (
   if (NewPos == &gMenuOption) {\r
     return NULL;\r
   }\r
+\r
   //\r
   // Check whether highlight menu and top of screen menu can be shown within one page,\r
   // if can't, return NULL to re-calcaulate the top of scrren menu. Because some new menus\r
@@ -1844,10 +1861,10 @@ FindTopMenu (
   OUT UINTN                     *SkipValue\r
   )\r
 {\r
-  UINTN                           TopRow;\r
-  UINTN                           BottomRow;\r
-  UI_MENU_OPTION                  *MenuOption;\r
-  UINTN                           TmpValue;\r
+  UINTN           TopRow;\r
+  UINTN           BottomRow;\r
+  UI_MENU_OPTION  *MenuOption;\r
+  UINTN           TmpValue;\r
 \r
   TopRow    = gStatementDimensions.TopRow    + SCROLL_ARROW_HEIGHT;\r
   BottomRow = gStatementDimensions.BottomRow - SCROLL_ARROW_HEIGHT;\r
@@ -1855,13 +1872,13 @@ FindTopMenu (
   // When option mismatch happens,there exist two cases,one is reenter the form, just like the if case below,\r
   // and the other is exit current form and enter last form, it can be covered by the else case.\r
   //\r
-  if (gMisMatch && gFormData->HiiHandle == gHighligthMenuInfo.HiiHandle && gFormData->FormId == gHighligthMenuInfo.FormId) {\r
+  if (gMisMatch && (gFormData->HiiHandle == gHighligthMenuInfo.HiiHandle) && (gFormData->FormId == gHighligthMenuInfo.FormId)) {\r
     //\r
     // Reenter caused by option mismatch or auto exit caused by refresh form(refresh interval/guid),\r
     // base on the record highlight info to find the highlight menu.\r
     //\r
 \r
-    *HighlightMenu = FindHighLightMenuOption(NULL);\r
+    *HighlightMenu = FindHighLightMenuOption (NULL);\r
     if (*HighlightMenu != NULL) {\r
       //\r
       // Update skip info for this highlight menu.\r
@@ -1872,12 +1889,12 @@ FindTopMenu (
       //\r
       // Found the last time highlight menu.\r
       //\r
-      *TopOfScreen = FindTopOfScreenMenuOption(*HighlightMenu);\r
+      *TopOfScreen = FindTopOfScreenMenuOption (*HighlightMenu);\r
       if (*TopOfScreen != NULL) {\r
         //\r
         // Found the last time selectable top of screen menu.\r
         //\r
-        AdjustDateAndTimePosition(TRUE, TopOfScreen);\r
+        AdjustDateAndTimePosition (TRUE, TopOfScreen);\r
         MenuOption = MENU_OPTION_FROM_LINK (*TopOfScreen);\r
         UpdateOptionSkipLines (MenuOption);\r
 \r
@@ -1893,10 +1910,10 @@ FindTopMenu (
           *TopOfScreen = *HighlightMenu;\r
           TmpValue     = 0;\r
         } else {\r
-          *TopOfScreen = FindTopOfScreenMenu(*HighlightMenu, BottomRow - TopRow - MenuOption->Skip, &TmpValue);\r
+          *TopOfScreen = FindTopOfScreenMenu (*HighlightMenu, BottomRow - TopRow - MenuOption->Skip, &TmpValue);\r
         }\r
 \r
-        *SkipValue   = TmpValue;\r
+        *SkipValue = TmpValue;\r
       }\r
     } else {\r
       //\r
@@ -1906,17 +1923,17 @@ FindTopMenu (
       if (!IsListEmpty (&gMenuOption)) {\r
         MoveToNextStatement (FALSE, HighlightMenu, BottomRow - TopRow, TRUE);\r
       }\r
-      *TopOfScreen   = gMenuOption.ForwardLink;\r
-      *SkipValue = 0;\r
-    }\r
 \r
+      *TopOfScreen = gMenuOption.ForwardLink;\r
+      *SkipValue   = 0;\r
+    }\r
   } else if (FormData->HighLightedStatement != NULL) {\r
     if (IsSavedHighlightStatement (FormData->HighLightedStatement)) {\r
       //\r
       // Input highlight menu is same as last time highlight menu.\r
       // Base on last time highlight menu to set the top of screen menu and highlight menu.\r
       //\r
-      *HighlightMenu = FindHighLightMenuOption(NULL);\r
+      *HighlightMenu = FindHighLightMenuOption (NULL);\r
       ASSERT (*HighlightMenu != NULL);\r
 \r
       //\r
@@ -1925,7 +1942,7 @@ FindTopMenu (
       MenuOption = MENU_OPTION_FROM_LINK (*HighlightMenu);\r
       UpdateOptionSkipLines (MenuOption);\r
 \r
-      *TopOfScreen = FindTopOfScreenMenuOption(*HighlightMenu);\r
+      *TopOfScreen = FindTopOfScreenMenuOption (*HighlightMenu);\r
       if (*TopOfScreen == NULL) {\r
         //\r
         // Not found last time top of screen menu, so base on current highlight menu\r
@@ -1937,24 +1954,25 @@ FindTopMenu (
           *TopOfScreen = *HighlightMenu;\r
           TmpValue     = 0;\r
         } else {\r
-          *TopOfScreen = FindTopOfScreenMenu(*HighlightMenu, BottomRow - TopRow - MenuOption->Skip, &TmpValue);\r
+          *TopOfScreen = FindTopOfScreenMenu (*HighlightMenu, BottomRow - TopRow - MenuOption->Skip, &TmpValue);\r
         }\r
 \r
-        *SkipValue   = TmpValue;\r
+        *SkipValue = TmpValue;\r
       } else {\r
-        AdjustDateAndTimePosition(TRUE, TopOfScreen);\r
+        AdjustDateAndTimePosition (TRUE, TopOfScreen);\r
         MenuOption = MENU_OPTION_FROM_LINK (*TopOfScreen);\r
         UpdateOptionSkipLines (MenuOption);\r
 \r
         *SkipValue = gHighligthMenuInfo.SkipValue;\r
       }\r
-      AdjustDateAndTimePosition(TRUE, TopOfScreen);\r
+\r
+      AdjustDateAndTimePosition (TRUE, TopOfScreen);\r
     } else {\r
       //\r
       // Input highlight menu is not save as last time highlight menu.\r
       //\r
-      *HighlightMenu = FindHighLightMenuOption(FormData->HighLightedStatement);\r
-      MenuOption = MENU_OPTION_FROM_LINK (*HighlightMenu);\r
+      *HighlightMenu = FindHighLightMenuOption (FormData->HighLightedStatement);\r
+      MenuOption     = MENU_OPTION_FROM_LINK (*HighlightMenu);\r
       UpdateOptionSkipLines (MenuOption);\r
 \r
       //\r
@@ -1965,12 +1983,13 @@ FindTopMenu (
         *TopOfScreen = *HighlightMenu;\r
         TmpValue     = 0;\r
       } else {\r
-        *TopOfScreen = FindTopOfScreenMenu(*HighlightMenu, BottomRow - TopRow - MenuOption->Skip, &TmpValue);\r
+        *TopOfScreen = FindTopOfScreenMenu (*HighlightMenu, BottomRow - TopRow - MenuOption->Skip, &TmpValue);\r
       }\r
 \r
-      *SkipValue   = TmpValue;\r
+      *SkipValue = TmpValue;\r
     }\r
-    AdjustDateAndTimePosition(TRUE, TopOfScreen);\r
+\r
+    AdjustDateAndTimePosition (TRUE, TopOfScreen);\r
   } else {\r
     //\r
     // If not has input highlight statement, just return the first one in this form.\r
@@ -1980,7 +1999,8 @@ FindTopMenu (
     if (!IsListEmpty (&gMenuOption)) {\r
       MoveToNextStatement (FALSE, HighlightMenu, BottomRow - TopRow, TRUE);\r
     }\r
-    *SkipValue     = 0;\r
+\r
+    *SkipValue = 0;\r
   }\r
 \r
   gMisMatch = FALSE;\r
@@ -2001,17 +2021,17 @@ FindTopMenu (
 **/\r
 VOID\r
 UpdateHighlightMenuInfo (\r
-  IN  LIST_ENTRY                      *Highlight,\r
-  IN  LIST_ENTRY                      *TopOfScreen,\r
-  IN  UINTN                           SkipValue\r
+  IN  LIST_ENTRY  *Highlight,\r
+  IN  LIST_ENTRY  *TopOfScreen,\r
+  IN  UINTN       SkipValue\r
   )\r
 {\r
-  UI_MENU_OPTION                  *MenuOption;\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Statement;\r
+  UI_MENU_OPTION                 *MenuOption;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
 \r
-  gHighligthMenuInfo.HiiHandle  = gFormData->HiiHandle;\r
-  gHighligthMenuInfo.FormId     = gFormData->FormId;\r
-  gHighligthMenuInfo.SkipValue  = (UINT16)SkipValue;\r
+  gHighligthMenuInfo.HiiHandle = gFormData->HiiHandle;\r
+  gHighligthMenuInfo.FormId    = gFormData->FormId;\r
+  gHighligthMenuInfo.SkipValue = (UINT16)SkipValue;\r
 \r
   if (!IsListEmpty (&gMenuOption)) {\r
     MenuOption = MENU_OPTION_FROM_LINK (Highlight);\r
@@ -2020,7 +2040,7 @@ UpdateHighlightMenuInfo (
     gUserInput->SelectedStatement = Statement;\r
 \r
     gHighligthMenuInfo.HLTSequence   = MenuOption->Sequence;\r
-    gHighligthMenuInfo.HLTQuestionId = GetQuestionIdInfo(Statement->OpCode);\r
+    gHighligthMenuInfo.HLTQuestionId = GetQuestionIdInfo (Statement->OpCode);\r
     if (gHighligthMenuInfo.HLTQuestionId == 0) {\r
       //\r
       // if question id == 0, save the opcode buffer..\r
@@ -2028,16 +2048,17 @@ UpdateHighlightMenuInfo (
       if (gHighligthMenuInfo.HLTOpCode != NULL) {\r
         FreePool (gHighligthMenuInfo.HLTOpCode);\r
       }\r
+\r
       gHighligthMenuInfo.HLTOpCode = AllocateCopyPool (Statement->OpCode->Length, Statement->OpCode);\r
       ASSERT (gHighligthMenuInfo.HLTOpCode != NULL);\r
 \r
-      gHighligthMenuInfo.HLTIndex = GetIndexInfoForOpcode(Statement->OpCode);\r
+      gHighligthMenuInfo.HLTIndex = GetIndexInfoForOpcode (Statement->OpCode);\r
     }\r
 \r
     MenuOption = MENU_OPTION_FROM_LINK (TopOfScreen);\r
     Statement  = MenuOption->ThisTag;\r
 \r
-    gHighligthMenuInfo.TOSQuestionId = GetQuestionIdInfo(Statement->OpCode);\r
+    gHighligthMenuInfo.TOSQuestionId = GetQuestionIdInfo (Statement->OpCode);\r
     if (gHighligthMenuInfo.TOSQuestionId == 0) {\r
       //\r
       // if question id == 0, save the opcode buffer..\r
@@ -2045,28 +2066,31 @@ UpdateHighlightMenuInfo (
       if (gHighligthMenuInfo.TOSOpCode != NULL) {\r
         FreePool (gHighligthMenuInfo.TOSOpCode);\r
       }\r
+\r
       gHighligthMenuInfo.TOSOpCode = AllocateCopyPool (Statement->OpCode->Length, Statement->OpCode);\r
       ASSERT (gHighligthMenuInfo.TOSOpCode != NULL);\r
 \r
-      gHighligthMenuInfo.TOSIndex = GetIndexInfoForOpcode(Statement->OpCode);\r
+      gHighligthMenuInfo.TOSIndex = GetIndexInfoForOpcode (Statement->OpCode);\r
     }\r
   } else {\r
-    gUserInput->SelectedStatement    = NULL;\r
+    gUserInput->SelectedStatement = NULL;\r
 \r
     gHighligthMenuInfo.HLTSequence   = 0;\r
     gHighligthMenuInfo.HLTQuestionId = 0;\r
     if (gHighligthMenuInfo.HLTOpCode != NULL) {\r
       FreePool (gHighligthMenuInfo.HLTOpCode);\r
     }\r
-    gHighligthMenuInfo.HLTOpCode     = NULL;\r
-    gHighligthMenuInfo.HLTIndex      = 0;\r
+\r
+    gHighligthMenuInfo.HLTOpCode = NULL;\r
+    gHighligthMenuInfo.HLTIndex  = 0;\r
 \r
     gHighligthMenuInfo.TOSQuestionId = 0;\r
     if (gHighligthMenuInfo.TOSOpCode != NULL) {\r
       FreePool (gHighligthMenuInfo.TOSOpCode);\r
     }\r
-    gHighligthMenuInfo.TOSOpCode     = NULL;\r
-    gHighligthMenuInfo.TOSIndex      = 0;\r
+\r
+    gHighligthMenuInfo.TOSOpCode = NULL;\r
+    gHighligthMenuInfo.TOSIndex  = 0;\r
   }\r
 }\r
 \r
@@ -2079,11 +2103,11 @@ UpdateHighlightMenuInfo (
 **/\r
 VOID\r
 SetDisplayAttribute (\r
-  IN UI_MENU_OPTION                  *MenuOption,\r
-  IN BOOLEAN                         Highlight\r
+  IN UI_MENU_OPTION  *MenuOption,\r
+  IN BOOLEAN         Highlight\r
   )\r
 {\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Statement;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
 \r
   Statement = MenuOption->ThisTag;\r
 \r
@@ -2117,15 +2141,15 @@ SetDisplayAttribute (
 **/\r
 VOID\r
 DisplayMenuString (\r
-  IN UI_MENU_OPTION         *MenuOption,\r
-  IN UINTN                  Col,\r
-  IN UINTN                  Row,\r
-  IN CHAR16                 *String,\r
-  IN UINTN                  Width,\r
-  IN BOOLEAN                Highlight\r
+  IN UI_MENU_OPTION  *MenuOption,\r
+  IN UINTN           Col,\r
+  IN UINTN           Row,\r
+  IN CHAR16          *String,\r
+  IN UINTN           Width,\r
+  IN BOOLEAN         Highlight\r
   )\r
 {\r
-  UINTN            Length;\r
+  UINTN  Length;\r
 \r
   //\r
   // Print string with normal color.\r
@@ -2139,13 +2163,13 @@ DisplayMenuString (
   // Print the highlight menu string.\r
   // First print the highlight string.\r
   //\r
-  SetDisplayAttribute(MenuOption, TRUE);\r
+  SetDisplayAttribute (MenuOption, TRUE);\r
   Length = PrintStringAt (Col, Row, String);\r
 \r
   //\r
   // Second, clean the empty after the string.\r
   //\r
-  SetDisplayAttribute(MenuOption, FALSE);\r
+  SetDisplayAttribute (MenuOption, FALSE);\r
   PrintStringAtWithWidth (Col + Length, Row, L"", Width - Length);\r
 }\r
 \r
@@ -2160,22 +2184,22 @@ DisplayMenuString (
 **/\r
 BOOLEAN\r
 HasOptionString (\r
-  IN UI_MENU_OPTION                  *MenuOption\r
+  IN UI_MENU_OPTION  *MenuOption\r
   )\r
 {\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Statement;\r
-  CHAR16                          *String;\r
-  UINTN                           Size;\r
-  EFI_IFR_TEXT                    *TextOp;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
+  CHAR16                         *String;\r
+  UINTN                          Size;\r
+  EFI_IFR_TEXT                   *TextOp;\r
 \r
-  Size = 0;\r
+  Size      = 0;\r
   Statement = MenuOption->ThisTag;\r
 \r
   //\r
   // See if the second text parameter is really NULL\r
   //\r
   if (Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) {\r
-    TextOp = (EFI_IFR_TEXT *) Statement->OpCode;\r
+    TextOp = (EFI_IFR_TEXT *)Statement->OpCode;\r
     if (TextOp->TextTwo != 0) {\r
       String = GetToken (TextOp->TextTwo, gFormData->HiiHandle);\r
       Size   = StrLen (String);\r
@@ -2184,16 +2208,16 @@ HasOptionString (
   }\r
 \r
   if ((Statement->OpCode->OpCode == EFI_IFR_SUBTITLE_OP) ||\r
-    (Statement->OpCode->OpCode == EFI_IFR_REF_OP) ||\r
-    (Statement->OpCode->OpCode == EFI_IFR_PASSWORD_OP) ||\r
-    (Statement->OpCode->OpCode == EFI_IFR_ACTION_OP) ||\r
-    (Statement->OpCode->OpCode == EFI_IFR_RESET_BUTTON_OP) ||\r
-    //\r
-    // Allow a wide display if text op-code and no secondary text op-code\r
-    //\r
-    ((Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) && (Size == 0))\r
-    ) {\r
-\r
+      (Statement->OpCode->OpCode == EFI_IFR_REF_OP) ||\r
+      (Statement->OpCode->OpCode == EFI_IFR_PASSWORD_OP) ||\r
+      (Statement->OpCode->OpCode == EFI_IFR_ACTION_OP) ||\r
+      (Statement->OpCode->OpCode == EFI_IFR_RESET_BUTTON_OP) ||\r
+      //\r
+      // Allow a wide display if text op-code and no secondary text op-code\r
+      //\r
+      ((Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) && (Size == 0))\r
+      )\r
+  {\r
     return FALSE;\r
   }\r
 \r
@@ -2211,16 +2235,16 @@ HasOptionString (
 **/\r
 BOOLEAN\r
 FxConfirmPopup (\r
-  IN UINT32   Action\r
+  IN UINT32  Action\r
   )\r
 {\r
-  EFI_INPUT_KEY                   Key;\r
-  CHAR16                          *CfmStr;\r
-  UINTN                           CfmStrLen;\r
-  UINT32                          CheckFlags;\r
-  BOOLEAN                         RetVal;\r
-  UINTN                           CatLen;\r
-  UINTN                           MaxLen;\r
+  EFI_INPUT_KEY  Key;\r
+  CHAR16         *CfmStr;\r
+  UINTN          CfmStrLen;\r
+  UINT32         CheckFlags;\r
+  BOOLEAN        RetVal;\r
+  UINTN          CatLen;\r
+  UINTN          MaxLen;\r
 \r
   CfmStrLen = 0;\r
   CatLen    = StrLen (gConfirmMsgConnect);\r
@@ -2360,43 +2384,43 @@ FxConfirmPopup (
 **/\r
 EFI_STATUS\r
 DisplayOneMenu (\r
-  IN UI_MENU_OPTION                  *MenuOption,\r
-  IN UINTN                           SkipWidth,\r
-  IN UINTN                           BeginCol,\r
-  IN UINTN                           SkipLine,\r
-  IN UINTN                           BottomRow,\r
-  IN BOOLEAN                         Highlight,\r
-  IN BOOLEAN                         UpdateCol\r
+  IN UI_MENU_OPTION  *MenuOption,\r
+  IN UINTN           SkipWidth,\r
+  IN UINTN           BeginCol,\r
+  IN UINTN           SkipLine,\r
+  IN UINTN           BottomRow,\r
+  IN BOOLEAN         Highlight,\r
+  IN BOOLEAN         UpdateCol\r
   )\r
 {\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Statement;\r
-  UINTN                           Index;\r
-  UINT16                          Width;\r
-  UINT16                          PromptWidth;\r
-  CHAR16                          *StringPtr;\r
-  CHAR16                          *OptionString;\r
-  CHAR16                          *OutputString;\r
-  UINT16                          GlyphWidth;\r
-  UINTN                           Temp;\r
-  UINTN                           Temp2;\r
-  UINTN                           Temp3;\r
-  EFI_STATUS                      Status;\r
-  UINTN                           Row;\r
-  BOOLEAN                         IsProcessingFirstRow;\r
-  UINTN                           Col;\r
-  UINTN                           PromptLineNum;\r
-  UINTN                           OptionLineNum;\r
-  CHAR16                          AdjustValue;\r
-  UINTN                           MaxRow;\r
-\r
-  Statement = MenuOption->ThisTag;\r
-  Temp      = SkipLine;\r
-  Temp2     = SkipLine;\r
-  Temp3     = SkipLine;\r
-  AdjustValue   = 0;\r
-  PromptLineNum = 0;\r
-  OptionLineNum = 0;\r
-  MaxRow        = 0;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
+  UINTN                          Index;\r
+  UINT16                         Width;\r
+  UINT16                         PromptWidth;\r
+  CHAR16                         *StringPtr;\r
+  CHAR16                         *OptionString;\r
+  CHAR16                         *OutputString;\r
+  UINT16                         GlyphWidth;\r
+  UINTN                          Temp;\r
+  UINTN                          Temp2;\r
+  UINTN                          Temp3;\r
+  EFI_STATUS                     Status;\r
+  UINTN                          Row;\r
+  BOOLEAN                        IsProcessingFirstRow;\r
+  UINTN                          Col;\r
+  UINTN                          PromptLineNum;\r
+  UINTN                          OptionLineNum;\r
+  CHAR16                         AdjustValue;\r
+  UINTN                          MaxRow;\r
+\r
+  Statement            = MenuOption->ThisTag;\r
+  Temp                 = SkipLine;\r
+  Temp2                = SkipLine;\r
+  Temp3                = SkipLine;\r
+  AdjustValue          = 0;\r
+  PromptLineNum        = 0;\r
+  OptionLineNum        = 0;\r
+  MaxRow               = 0;\r
   IsProcessingFirstRow = TRUE;\r
 \r
   //\r
@@ -2413,21 +2437,21 @@ DisplayOneMenu (
   }\r
 \r
   if (OptionString != NULL) {\r
-    if (Statement->OpCode->OpCode == EFI_IFR_DATE_OP || Statement->OpCode->OpCode == EFI_IFR_TIME_OP) {\r
+    if ((Statement->OpCode->OpCode == EFI_IFR_DATE_OP) || (Statement->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
       //\r
       // Adjust option string for date/time opcode.\r
       //\r
-      ProcessStringForDateTime(MenuOption, OptionString, UpdateCol);\r
+      ProcessStringForDateTime (MenuOption, OptionString, UpdateCol);\r
     }\r
 \r
-    Width       = (UINT16) gOptionBlockWidth - 1;\r
-    Row         = MenuOption->Row;\r
-    GlyphWidth  = 1;\r
+    Width         = (UINT16)gOptionBlockWidth - 1;\r
+    Row           = MenuOption->Row;\r
+    GlyphWidth    = 1;\r
     OptionLineNum = 0;\r
 \r
     for (Index = 0; GetLineByWidth (OptionString, Width, &GlyphWidth, &Index, &OutputString) != 0x0000;) {\r
       if (((Temp2 == 0)) && (Row <= BottomRow)) {\r
-        if (Statement->OpCode->OpCode == EFI_IFR_DATE_OP || Statement->OpCode->OpCode == EFI_IFR_TIME_OP) {\r
+        if ((Statement->OpCode->OpCode == EFI_IFR_DATE_OP) || (Statement->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
           //\r
           // For date/time question, it has three menu options for this qustion.\r
           // The first/second menu options with the skip value is 0. the last one\r
@@ -2438,7 +2462,7 @@ DisplayOneMenu (
             // For date/ time, print the last past (year for date and second for time)\r
             // - 7 means skip [##/##/ for date and [##:##: for time.\r
             //\r
-            DisplayMenuString (MenuOption,MenuOption->OptCol, Row, OutputString, Width + 1 - 7, Highlight);\r
+            DisplayMenuString (MenuOption, MenuOption->OptCol, Row, OutputString, Width + 1 - 7, Highlight);\r
           } else {\r
             //\r
             // For date/ time, print the first and second past (year for date and second for time)\r
@@ -2449,6 +2473,7 @@ DisplayOneMenu (
         } else {\r
           DisplayMenuString (MenuOption, MenuOption->OptCol, Row, OutputString, Width + 1, Highlight);\r
         }\r
+\r
         OptionLineNum++;\r
       }\r
 \r
@@ -2490,7 +2515,7 @@ DisplayOneMenu (
   GlyphWidth    = 1;\r
   PromptLineNum = 0;\r
 \r
-  if (MenuOption->Description == NULL || MenuOption->Description[0] == '\0') {\r
+  if ((MenuOption->Description == NULL) || (MenuOption->Description[0] == '\0')) {\r
     PrintStringAtWithWidth (BeginCol, Row, L"", PromptWidth + AdjustValue + SkipWidth);\r
     PromptLineNum++;\r
   } else {\r
@@ -2501,7 +2526,7 @@ DisplayOneMenu (
         //\r
         PrintStringAtWithWidth (BeginCol, Row, L"", SkipWidth);\r
 \r
-        if (Statement->OpCode->OpCode == EFI_IFR_REF_OP && MenuOption->Col >= 2 && IsProcessingFirstRow) {\r
+        if ((Statement->OpCode->OpCode == EFI_IFR_REF_OP) && (MenuOption->Col >= 2) && IsProcessingFirstRow) {\r
           //\r
           // Print Arrow for Goto button.\r
           //\r
@@ -2512,9 +2537,11 @@ DisplayOneMenu (
             );\r
           IsProcessingFirstRow = FALSE;\r
         }\r
+\r
         DisplayMenuString (MenuOption, MenuOption->Col, Row, OutputString, PromptWidth + AdjustValue, Highlight);\r
-        PromptLineNum ++;\r
+        PromptLineNum++;\r
       }\r
+\r
       //\r
       // If there is more string to process print on the next row and increment the Skip value\r
       //\r
@@ -2533,16 +2560,15 @@ DisplayOneMenu (
     Highlight = FALSE;\r
   }\r
 \r
-\r
   //\r
   // 3. If this is a text op with secondary text information\r
   //\r
-  if ((Statement->OpCode->OpCode  == EFI_IFR_TEXT_OP) && (((EFI_IFR_TEXT*)Statement->OpCode)->TextTwo != 0)) {\r
-    StringPtr   = GetToken (((EFI_IFR_TEXT*)Statement->OpCode)->TextTwo, gFormData->HiiHandle);\r
+  if ((Statement->OpCode->OpCode  == EFI_IFR_TEXT_OP) && (((EFI_IFR_TEXT *)Statement->OpCode)->TextTwo != 0)) {\r
+    StringPtr = GetToken (((EFI_IFR_TEXT *)Statement->OpCode)->TextTwo, gFormData->HiiHandle);\r
 \r
-    Width       = (UINT16) gOptionBlockWidth - 1;\r
-    Row         = MenuOption->Row;\r
-    GlyphWidth  = 1;\r
+    Width         = (UINT16)gOptionBlockWidth - 1;\r
+    Row           = MenuOption->Row;\r
+    GlyphWidth    = 1;\r
     OptionLineNum = 0;\r
 \r
     for (Index = 0; GetLineByWidth (StringPtr, Width, &GlyphWidth, &Index, &OutputString) != 0x0000;) {\r
@@ -2550,6 +2576,7 @@ DisplayOneMenu (
         DisplayMenuString (MenuOption, MenuOption->OptCol, Row, OutputString, Width + 1, Highlight);\r
         OptionLineNum++;\r
       }\r
+\r
       //\r
       // If there is more string to process print on the next row and increment the Skip value\r
       //\r
@@ -2578,10 +2605,10 @@ DisplayOneMenu (
   // 4.Line number for Option string and prompt string are not equal.\r
   //  Clean the column whose line number is less.\r
   //\r
-  if (HasOptionString(MenuOption) && (OptionLineNum != PromptLineNum)) {\r
+  if (HasOptionString (MenuOption) && (OptionLineNum != PromptLineNum)) {\r
     Col    =  OptionLineNum < PromptLineNum ? MenuOption->OptCol : BeginCol;\r
     Row    = (OptionLineNum < PromptLineNum ? OptionLineNum : PromptLineNum) + MenuOption->Row;\r
-    Width  = (UINT16) (OptionLineNum < PromptLineNum ? gOptionBlockWidth : PromptWidth + AdjustValue + SkipWidth);\r
+    Width  = (UINT16)(OptionLineNum < PromptLineNum ? gOptionBlockWidth : PromptWidth + AdjustValue + SkipWidth);\r
     MaxRow = (OptionLineNum < PromptLineNum ? PromptLineNum : OptionLineNum) + MenuOption->Row - 1;\r
 \r
     while (Row <= MaxRow) {\r
@@ -2608,84 +2635,84 @@ UiDisplayMenu (
   IN  FORM_DISPLAY_ENGINE_FORM  *FormData\r
   )\r
 {\r
-  UINTN                           SkipValue;\r
-  INTN                            Difference;\r
-  UINTN                           DistanceValue;\r
-  UINTN                           Row;\r
-  UINTN                           Col;\r
-  UINTN                           Temp;\r
-  UINTN                           Temp2;\r
-  UINTN                           TopRow;\r
-  UINTN                           BottomRow;\r
-  UINTN                           Index;\r
-  CHAR16                          *StringPtr;\r
-  CHAR16                          *StringRightPtr;\r
-  CHAR16                          *StringErrorPtr;\r
-  CHAR16                          *OptionString;\r
-  CHAR16                          *HelpString;\r
-  CHAR16                          *HelpHeaderString;\r
-  CHAR16                          *HelpBottomString;\r
-  BOOLEAN                         NewLine;\r
-  BOOLEAN                         Repaint;\r
-  BOOLEAN                         UpArrow;\r
-  BOOLEAN                         DownArrow;\r
-  EFI_STATUS                      Status;\r
-  EFI_INPUT_KEY                   Key;\r
-  LIST_ENTRY                      *Link;\r
-  LIST_ENTRY                      *NewPos;\r
-  LIST_ENTRY                      *TopOfScreen;\r
-  LIST_ENTRY                      *SavedListEntry;\r
-  UI_MENU_OPTION                  *MenuOption;\r
-  UI_MENU_OPTION                  *NextMenuOption;\r
-  UI_MENU_OPTION                  *SavedMenuOption;\r
-  UI_CONTROL_FLAG                 ControlFlag;\r
-  UI_SCREEN_OPERATION             ScreenOperation;\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Statement;\r
-  BROWSER_HOT_KEY                 *HotKey;\r
-  UINTN                           HelpPageIndex;\r
-  UINTN                           HelpPageCount;\r
-  UINTN                           RowCount;\r
-  UINTN                           HelpLine;\r
-  UINTN                           HelpHeaderLine;\r
-  UINTN                           HelpBottomLine;\r
-  BOOLEAN                         MultiHelpPage;\r
-  UINT16                          EachLineWidth;\r
-  UINT16                          HeaderLineWidth;\r
-  UINT16                          BottomLineWidth;\r
-  EFI_STRING_ID                   HelpInfo;\r
-  UI_EVENT_TYPE                   EventType;\r
-  BOOLEAN                         SkipHighLight;\r
-  EFI_HII_VALUE                   *StatementValue;\r
-\r
-  EventType           = UIEventNone;\r
-  Status              = EFI_SUCCESS;\r
-  HelpString          = NULL;\r
-  HelpHeaderString    = NULL;\r
-  HelpBottomString    = NULL;\r
-  OptionString        = NULL;\r
-  ScreenOperation     = UiNoOperation;\r
-  NewLine             = TRUE;\r
-  HelpPageCount       = 0;\r
-  HelpLine            = 0;\r
-  RowCount            = 0;\r
-  HelpBottomLine      = 0;\r
-  HelpHeaderLine      = 0;\r
-  HelpPageIndex       = 0;\r
-  MultiHelpPage       = FALSE;\r
-  EachLineWidth       = 0;\r
-  HeaderLineWidth     = 0;\r
-  BottomLineWidth     = 0;\r
-  UpArrow             = FALSE;\r
-  DownArrow           = FALSE;\r
-  SkipValue           = 0;\r
-  SkipHighLight       = FALSE;\r
-\r
-  NextMenuOption      = NULL;\r
-  SavedMenuOption     = NULL;\r
-  HotKey              = NULL;\r
-  Repaint             = TRUE;\r
-  MenuOption          = NULL;\r
-  gModalSkipColumn    = (CHAR16) (gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn) / 6;\r
+  UINTN                          SkipValue;\r
+  INTN                           Difference;\r
+  UINTN                          DistanceValue;\r
+  UINTN                          Row;\r
+  UINTN                          Col;\r
+  UINTN                          Temp;\r
+  UINTN                          Temp2;\r
+  UINTN                          TopRow;\r
+  UINTN                          BottomRow;\r
+  UINTN                          Index;\r
+  CHAR16                         *StringPtr;\r
+  CHAR16                         *StringRightPtr;\r
+  CHAR16                         *StringErrorPtr;\r
+  CHAR16                         *OptionString;\r
+  CHAR16                         *HelpString;\r
+  CHAR16                         *HelpHeaderString;\r
+  CHAR16                         *HelpBottomString;\r
+  BOOLEAN                        NewLine;\r
+  BOOLEAN                        Repaint;\r
+  BOOLEAN                        UpArrow;\r
+  BOOLEAN                        DownArrow;\r
+  EFI_STATUS                     Status;\r
+  EFI_INPUT_KEY                  Key;\r
+  LIST_ENTRY                     *Link;\r
+  LIST_ENTRY                     *NewPos;\r
+  LIST_ENTRY                     *TopOfScreen;\r
+  LIST_ENTRY                     *SavedListEntry;\r
+  UI_MENU_OPTION                 *MenuOption;\r
+  UI_MENU_OPTION                 *NextMenuOption;\r
+  UI_MENU_OPTION                 *SavedMenuOption;\r
+  UI_CONTROL_FLAG                ControlFlag;\r
+  UI_SCREEN_OPERATION            ScreenOperation;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Statement;\r
+  BROWSER_HOT_KEY                *HotKey;\r
+  UINTN                          HelpPageIndex;\r
+  UINTN                          HelpPageCount;\r
+  UINTN                          RowCount;\r
+  UINTN                          HelpLine;\r
+  UINTN                          HelpHeaderLine;\r
+  UINTN                          HelpBottomLine;\r
+  BOOLEAN                        MultiHelpPage;\r
+  UINT16                         EachLineWidth;\r
+  UINT16                         HeaderLineWidth;\r
+  UINT16                         BottomLineWidth;\r
+  EFI_STRING_ID                  HelpInfo;\r
+  UI_EVENT_TYPE                  EventType;\r
+  BOOLEAN                        SkipHighLight;\r
+  EFI_HII_VALUE                  *StatementValue;\r
+\r
+  EventType        = UIEventNone;\r
+  Status           = EFI_SUCCESS;\r
+  HelpString       = NULL;\r
+  HelpHeaderString = NULL;\r
+  HelpBottomString = NULL;\r
+  OptionString     = NULL;\r
+  ScreenOperation  = UiNoOperation;\r
+  NewLine          = TRUE;\r
+  HelpPageCount    = 0;\r
+  HelpLine         = 0;\r
+  RowCount         = 0;\r
+  HelpBottomLine   = 0;\r
+  HelpHeaderLine   = 0;\r
+  HelpPageIndex    = 0;\r
+  MultiHelpPage    = FALSE;\r
+  EachLineWidth    = 0;\r
+  HeaderLineWidth  = 0;\r
+  BottomLineWidth  = 0;\r
+  UpArrow          = FALSE;\r
+  DownArrow        = FALSE;\r
+  SkipValue        = 0;\r
+  SkipHighLight    = FALSE;\r
+\r
+  NextMenuOption   = NULL;\r
+  SavedMenuOption  = NULL;\r
+  HotKey           = NULL;\r
+  Repaint          = TRUE;\r
+  MenuOption       = NULL;\r
+  gModalSkipColumn = (CHAR16)(gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn) / 6;\r
 \r
   ZeroMem (&Key, sizeof (EFI_INPUT_KEY));\r
 \r
@@ -2699,9 +2726,9 @@ UiDisplayMenu (
     Col = gStatementDimensions.LeftColumn + LEFT_SKIPPED_COLUMNS;\r
   }\r
 \r
-  FindTopMenu(FormData, &TopOfScreen, &NewPos, &SkipValue);\r
+  FindTopMenu (FormData, &TopOfScreen, &NewPos, &SkipValue);\r
   if (!IsListEmpty (&gMenuOption)) {\r
-    NextMenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
+    NextMenuOption                = MENU_OPTION_FROM_LINK (NewPos);\r
     gUserInput->SelectedStatement = NextMenuOption->ThisTag;\r
   }\r
 \r
@@ -2710,376 +2737,371 @@ UiDisplayMenu (
   ControlFlag = CfInitialization;\r
   while (TRUE) {\r
     switch (ControlFlag) {\r
-    case CfInitialization:\r
-      if ((gOldFormEntry.HiiHandle != FormData->HiiHandle) ||\r
-          (!CompareGuid (&gOldFormEntry.FormSetGuid, &FormData->FormSetGuid))) {\r
-        //\r
-        // Clear Statement range if different formset is painted.\r
-        //\r
-        ClearLines (\r
-          gStatementDimensions.LeftColumn,\r
-          gStatementDimensions.RightColumn,\r
-          TopRow - SCROLL_ARROW_HEIGHT,\r
-          BottomRow + SCROLL_ARROW_HEIGHT,\r
-          GetFieldTextColor ()\r
-          );\r
-\r
-      }\r
-      ControlFlag = CfRepaint;\r
-      break;\r
-\r
-    case CfRepaint:\r
-      ControlFlag = CfRefreshHighLight;\r
+      case CfInitialization:\r
+        if ((gOldFormEntry.HiiHandle != FormData->HiiHandle) ||\r
+            (!CompareGuid (&gOldFormEntry.FormSetGuid, &FormData->FormSetGuid)))\r
+        {\r
+          //\r
+          // Clear Statement range if different formset is painted.\r
+          //\r
+          ClearLines (\r
+            gStatementDimensions.LeftColumn,\r
+            gStatementDimensions.RightColumn,\r
+            TopRow - SCROLL_ARROW_HEIGHT,\r
+            BottomRow + SCROLL_ARROW_HEIGHT,\r
+            GetFieldTextColor ()\r
+            );\r
+        }\r
 \r
-      if (Repaint) {\r
-        //\r
-        // Display menu\r
-        //\r
-        DownArrow       = FALSE;\r
-        UpArrow         = FALSE;\r
-        Row             = TopRow;\r
+        ControlFlag = CfRepaint;\r
+        break;\r
 \r
-        gST->ConOut->SetAttribute (gST->ConOut, GetFieldTextColor ());\r
+      case CfRepaint:\r
+        ControlFlag = CfRefreshHighLight;\r
 \r
-        //\r
-        // 1. Check whether need to print the arrow up.\r
-        //\r
-        if (!ValueIsScroll (TRUE, TopOfScreen)) {\r
-          UpArrow = TRUE;\r
-        }\r
+        if (Repaint) {\r
+          //\r
+          // Display menu\r
+          //\r
+          DownArrow = FALSE;\r
+          UpArrow   = FALSE;\r
+          Row       = TopRow;\r
 \r
-        if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
-          PrintStringAtWithWidth(gStatementDimensions.LeftColumn + gModalSkipColumn, TopRow - 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 * gModalSkipColumn);\r
-        } else {\r
-          PrintStringAtWithWidth(gStatementDimensions.LeftColumn, TopRow - 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn);\r
-        }\r
-        if (UpArrow) {\r
-          gST->ConOut->SetAttribute (gST->ConOut, GetArrowColor ());\r
-          PrintCharAt (\r
-            gStatementDimensions.LeftColumn + gPromptBlockWidth + gOptionBlockWidth + 1,\r
-            TopRow - SCROLL_ARROW_HEIGHT,\r
-            ARROW_UP\r
-            );\r
           gST->ConOut->SetAttribute (gST->ConOut, GetFieldTextColor ());\r
-        }\r
 \r
-        //\r
-        // 2.Paint the menu.\r
-        //\r
-        for (Link = TopOfScreen; Link != &gMenuOption; Link = Link->ForwardLink) {\r
-          MenuOption          = MENU_OPTION_FROM_LINK (Link);\r
-          MenuOption->Row     = Row;\r
-          MenuOption->Col     = Col;\r
+          //\r
+          // 1. Check whether need to print the arrow up.\r
+          //\r
+          if (!ValueIsScroll (TRUE, TopOfScreen)) {\r
+            UpArrow = TRUE;\r
+          }\r
+\r
           if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
-            MenuOption->OptCol  = gStatementDimensions.LeftColumn + LEFT_SKIPPED_COLUMNS + gPromptBlockWidth + gModalSkipColumn;\r
+            PrintStringAtWithWidth (gStatementDimensions.LeftColumn + gModalSkipColumn, TopRow - 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 * gModalSkipColumn);\r
           } else {\r
-            MenuOption->OptCol  = gStatementDimensions.LeftColumn + LEFT_SKIPPED_COLUMNS + gPromptBlockWidth;\r
+            PrintStringAtWithWidth (gStatementDimensions.LeftColumn, TopRow - 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn);\r
           }\r
 \r
-          if (MenuOption->NestInStatement) {\r
-            MenuOption->Col += SUBTITLE_INDENT;\r
+          if (UpArrow) {\r
+            gST->ConOut->SetAttribute (gST->ConOut, GetArrowColor ());\r
+            PrintCharAt (\r
+              gStatementDimensions.LeftColumn + gPromptBlockWidth + gOptionBlockWidth + 1,\r
+              TopRow - SCROLL_ARROW_HEIGHT,\r
+              ARROW_UP\r
+              );\r
+            gST->ConOut->SetAttribute (gST->ConOut, GetFieldTextColor ());\r
           }\r
 \r
           //\r
-          // Save the highlight menu, will be used in CfRefreshHighLight case.\r
+          // 2.Paint the menu.\r
           //\r
-          if (Link == NewPos) {\r
-            SavedMenuOption = MenuOption;\r
-            SkipHighLight   = TRUE;\r
-          }\r
+          for (Link = TopOfScreen; Link != &gMenuOption; Link = Link->ForwardLink) {\r
+            MenuOption      = MENU_OPTION_FROM_LINK (Link);\r
+            MenuOption->Row = Row;\r
+            MenuOption->Col = Col;\r
+            if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
+              MenuOption->OptCol = gStatementDimensions.LeftColumn + LEFT_SKIPPED_COLUMNS + gPromptBlockWidth + gModalSkipColumn;\r
+            } else {\r
+              MenuOption->OptCol = gStatementDimensions.LeftColumn + LEFT_SKIPPED_COLUMNS + gPromptBlockWidth;\r
+            }\r
 \r
-          if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
-            Status = DisplayOneMenu (MenuOption,\r
-                            MenuOption->Col - gStatementDimensions.LeftColumn,\r
-                            gStatementDimensions.LeftColumn + gModalSkipColumn,\r
-                            Link == TopOfScreen ? SkipValue : 0,\r
-                            BottomRow,\r
-                            (BOOLEAN) ((Link == NewPos) && IsSelectable(MenuOption)),\r
-                            TRUE\r
-                            );\r
-          } else {\r
-            Status = DisplayOneMenu (MenuOption,\r
-                            MenuOption->Col - gStatementDimensions.LeftColumn,\r
-                            gStatementDimensions.LeftColumn,\r
-                            Link == TopOfScreen ? SkipValue : 0,\r
-                            BottomRow,\r
-                            (BOOLEAN) ((Link == NewPos) && IsSelectable(MenuOption)),\r
-                            TRUE\r
-                            );\r
-          }\r
+            if (MenuOption->NestInStatement) {\r
+              MenuOption->Col += SUBTITLE_INDENT;\r
+            }\r
+\r
+            //\r
+            // Save the highlight menu, will be used in CfRefreshHighLight case.\r
+            //\r
+            if (Link == NewPos) {\r
+              SavedMenuOption = MenuOption;\r
+              SkipHighLight   = TRUE;\r
+            }\r
+\r
+            if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
+              Status = DisplayOneMenu (\r
+                         MenuOption,\r
+                         MenuOption->Col - gStatementDimensions.LeftColumn,\r
+                         gStatementDimensions.LeftColumn + gModalSkipColumn,\r
+                         Link == TopOfScreen ? SkipValue : 0,\r
+                         BottomRow,\r
+                         (BOOLEAN)((Link == NewPos) && IsSelectable (MenuOption)),\r
+                         TRUE\r
+                         );\r
+            } else {\r
+              Status = DisplayOneMenu (\r
+                         MenuOption,\r
+                         MenuOption->Col - gStatementDimensions.LeftColumn,\r
+                         gStatementDimensions.LeftColumn,\r
+                         Link == TopOfScreen ? SkipValue : 0,\r
+                         BottomRow,\r
+                         (BOOLEAN)((Link == NewPos) && IsSelectable (MenuOption)),\r
+                         TRUE\r
+                         );\r
+            }\r
+\r
+            if (EFI_ERROR (Status)) {\r
+              if (gMisMatch) {\r
+                return EFI_SUCCESS;\r
+              } else {\r
+                return Status;\r
+              }\r
+            }\r
 \r
-          if (EFI_ERROR (Status)) {\r
-            if (gMisMatch) {\r
-              return EFI_SUCCESS;\r
+            //\r
+            // 3. Update the row info which will be used by next menu.\r
+            //\r
+            if (Link == TopOfScreen) {\r
+              Row += MenuOption->Skip - SkipValue;\r
             } else {\r
-              return Status;\r
+              Row += MenuOption->Skip;\r
+            }\r
+\r
+            if (Row > BottomRow) {\r
+              if (!ValueIsScroll (FALSE, Link)) {\r
+                DownArrow = TRUE;\r
+              }\r
+\r
+              Row = BottomRow + 1;\r
+              break;\r
             }\r
           }\r
+\r
           //\r
-          // 3. Update the row info which will be used by next menu.\r
+          // 3. Menus in this form may not cover all form, clean the remain field.\r
           //\r
-          if (Link == TopOfScreen) {\r
-            Row += MenuOption->Skip - SkipValue;\r
-          } else {\r
-            Row += MenuOption->Skip;\r
-          }\r
-\r
-          if (Row > BottomRow) {\r
-            if (!ValueIsScroll (FALSE, Link)) {\r
-              DownArrow = TRUE;\r
+          while (Row <= BottomRow) {\r
+            if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
+              PrintStringAtWithWidth (gStatementDimensions.LeftColumn + gModalSkipColumn, Row++, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 * gModalSkipColumn);\r
+            } else {\r
+              PrintStringAtWithWidth (gStatementDimensions.LeftColumn, Row++, L"", gStatementDimensions.RightColumn - gHelpBlockWidth - gStatementDimensions.LeftColumn);\r
             }\r
-\r
-            Row = BottomRow + 1;\r
-            break;\r
           }\r
-        }\r
 \r
-        //\r
-        // 3. Menus in this form may not cover all form, clean the remain field.\r
-        //\r
-        while (Row <= BottomRow) {\r
+          //\r
+          // 4. Print the down arrow row.\r
+          //\r
           if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
-            PrintStringAtWithWidth(gStatementDimensions.LeftColumn + gModalSkipColumn, Row++, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 * gModalSkipColumn);\r
+            PrintStringAtWithWidth (gStatementDimensions.LeftColumn + gModalSkipColumn, BottomRow + 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 *  +gModalSkipColumn);\r
           } else {\r
-            PrintStringAtWithWidth(gStatementDimensions.LeftColumn, Row++, L"", gStatementDimensions.RightColumn - gHelpBlockWidth - gStatementDimensions.LeftColumn);\r
+            PrintStringAtWithWidth (gStatementDimensions.LeftColumn, BottomRow + 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn);\r
           }\r
-        }\r
-\r
-        //\r
-        // 4. Print the down arrow row.\r
-        //\r
-        if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
-          PrintStringAtWithWidth(gStatementDimensions.LeftColumn + gModalSkipColumn, BottomRow + 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 *  + gModalSkipColumn);\r
-        } else {\r
-          PrintStringAtWithWidth(gStatementDimensions.LeftColumn, BottomRow + 1, L"", gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn);\r
-        }\r
-        if (DownArrow) {\r
-          gST->ConOut->SetAttribute (gST->ConOut, GetArrowColor ());\r
-          PrintCharAt (\r
-            gStatementDimensions.LeftColumn + gPromptBlockWidth + gOptionBlockWidth + 1,\r
-            BottomRow + SCROLL_ARROW_HEIGHT,\r
-            ARROW_DOWN\r
-            );\r
-          gST->ConOut->SetAttribute (gST->ConOut, GetFieldTextColor ());\r
-        }\r
-\r
-        MenuOption = NULL;\r
-      }\r
-      break;\r
 \r
-    case CfRefreshHighLight:\r
-\r
-      //\r
-      // MenuOption: Last menu option that need to remove hilight\r
-      //             MenuOption is set to NULL in Repaint\r
-      // NewPos:     Current menu option that need to hilight\r
-      //\r
-      ControlFlag = CfUpdateHelpString;\r
+          if (DownArrow) {\r
+            gST->ConOut->SetAttribute (gST->ConOut, GetArrowColor ());\r
+            PrintCharAt (\r
+              gStatementDimensions.LeftColumn + gPromptBlockWidth + gOptionBlockWidth + 1,\r
+              BottomRow + SCROLL_ARROW_HEIGHT,\r
+              ARROW_DOWN\r
+              );\r
+            gST->ConOut->SetAttribute (gST->ConOut, GetFieldTextColor ());\r
+          }\r
 \r
-      ASSERT (NewPos != NULL);\r
-      UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);\r
+          MenuOption = NULL;\r
+        }\r
 \r
-      if (SkipHighLight) {\r
-        SkipHighLight = FALSE;\r
-        MenuOption    = SavedMenuOption;\r
-        RefreshKeyHelp(gFormData, SavedMenuOption->ThisTag, FALSE);\r
         break;\r
-      }\r
 \r
-      if (IsListEmpty (&gMenuOption)) {\r
+      case CfRefreshHighLight:\r
+\r
         //\r
-        // No menu option, just update the hotkey filed.\r
+        // MenuOption: Last menu option that need to remove hilight\r
+        //             MenuOption is set to NULL in Repaint\r
+        // NewPos:     Current menu option that need to hilight\r
         //\r
-        RefreshKeyHelp(gFormData, NULL, FALSE);\r
-        break;\r
-      }\r
+        ControlFlag = CfUpdateHelpString;\r
 \r
-      if (MenuOption != NULL && TopOfScreen == &MenuOption->Link) {\r
-        Temp = SkipValue;\r
-      } else {\r
-        Temp = 0;\r
-      }\r
-      if (NewPos == TopOfScreen) {\r
-        Temp2 = SkipValue;\r
-      } else {\r
-        Temp2 = 0;\r
-      }\r
+        ASSERT (NewPos != NULL);\r
+        UpdateHighlightMenuInfo (NewPos, TopOfScreen, SkipValue);\r
+\r
+        if (SkipHighLight) {\r
+          SkipHighLight = FALSE;\r
+          MenuOption    = SavedMenuOption;\r
+          RefreshKeyHelp (gFormData, SavedMenuOption->ThisTag, FALSE);\r
+          break;\r
+        }\r
 \r
-      if (MenuOption == NULL || NewPos != &MenuOption->Link) {\r
-        if (MenuOption != NULL) {\r
+        if (IsListEmpty (&gMenuOption)) {\r
           //\r
-          // Remove the old highlight menu.\r
+          // No menu option, just update the hotkey filed.\r
           //\r
-          Status = DisplayOneMenu (MenuOption,\r
-                          MenuOption->Col - gStatementDimensions.LeftColumn,\r
-                          gStatementDimensions.LeftColumn,\r
-                          Temp,\r
-                          BottomRow,\r
-                          FALSE,\r
-                          FALSE\r
-                          );\r
+          RefreshKeyHelp (gFormData, NULL, FALSE);\r
+          break;\r
         }\r
 \r
-        //\r
-        // This is the current selected statement\r
-        //\r
-        MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
-        RefreshKeyHelp(gFormData, MenuOption->ThisTag, FALSE);\r
-\r
-        if (!IsSelectable (MenuOption)) {\r
-          break;\r
+        if ((MenuOption != NULL) && (TopOfScreen == &MenuOption->Link)) {\r
+          Temp = SkipValue;\r
+        } else {\r
+          Temp = 0;\r
         }\r
 \r
-        Status = DisplayOneMenu (MenuOption,\r
-                        MenuOption->Col - gStatementDimensions.LeftColumn,\r
-                        gStatementDimensions.LeftColumn,\r
-                        Temp2,\r
-                        BottomRow,\r
-                        TRUE,\r
-                        FALSE\r
-                        );\r
-      }\r
-      break;\r
+        if (NewPos == TopOfScreen) {\r
+          Temp2 = SkipValue;\r
+        } else {\r
+          Temp2 = 0;\r
+        }\r
 \r
-    case CfUpdateHelpString:\r
-      ControlFlag = CfPrepareToReadKey;\r
-      if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
-        break;\r
-      }\r
+        if ((MenuOption == NULL) || (NewPos != &MenuOption->Link)) {\r
+          if (MenuOption != NULL) {\r
+            //\r
+            // Remove the old highlight menu.\r
+            //\r
+            Status = DisplayOneMenu (\r
+                       MenuOption,\r
+                       MenuOption->Col - gStatementDimensions.LeftColumn,\r
+                       gStatementDimensions.LeftColumn,\r
+                       Temp,\r
+                       BottomRow,\r
+                       FALSE,\r
+                       FALSE\r
+                       );\r
+          }\r
 \r
-      //\r
-      // NewLine means only update highlight menu (remove old highlight and highlith\r
-      // the new one), not need to full repain the form.\r
-      //\r
-      if (Repaint || NewLine) {\r
-        if (IsListEmpty (&gMenuOption)) {\r
-          //\r
-          // Don't print anything if no mwnu option.\r
-          //\r
-          StringPtr = GetToken (STRING_TOKEN (EMPTY_STRING), gHiiHandle);\r
-        } else {\r
           //\r
-          // Don't print anything if it is a NULL help token\r
+          // This is the current selected statement\r
           //\r
-          ASSERT(MenuOption != NULL);\r
-          HelpInfo = ((EFI_IFR_STATEMENT_HEADER *) ((CHAR8 *)MenuOption->ThisTag->OpCode + sizeof (EFI_IFR_OP_HEADER)))->Help;\r
-          Statement = MenuOption->ThisTag;\r
-          StatementValue = &Statement->CurrentValue;\r
-          if (HelpInfo == 0 || !IsSelectable (MenuOption)) {\r
-            if ((Statement->OpCode->OpCode == EFI_IFR_DATE_OP && StatementValue->Value.date.Month== 0xff)||(Statement->OpCode->OpCode == EFI_IFR_TIME_OP && StatementValue->Value.time.Hour == 0xff)){\r
-              StringPtr = GetToken (STRING_TOKEN (GET_TIME_FAIL), gHiiHandle);\r
-            } else {\r
-              StringPtr = GetToken (STRING_TOKEN (EMPTY_STRING), gHiiHandle);\r
-            }\r
-          } else {\r
-            if ((Statement->OpCode->OpCode == EFI_IFR_DATE_OP && StatementValue->Value.date.Month== 0xff)||(Statement->OpCode->OpCode == EFI_IFR_TIME_OP && StatementValue->Value.time.Hour == 0xff)){\r
-              StringRightPtr = GetToken (HelpInfo, gFormData->HiiHandle);\r
-              StringErrorPtr = GetToken (STRING_TOKEN (GET_TIME_FAIL), gHiiHandle);\r
-              StringPtr = AllocateZeroPool ((StrLen (StringRightPtr) + StrLen (StringErrorPtr)+ 1 ) * sizeof (CHAR16));\r
-              StrCpyS (StringPtr, StrLen (StringRightPtr) + StrLen (StringErrorPtr) + 1, StringRightPtr);\r
-              StrCatS (StringPtr, StrLen (StringRightPtr) + StrLen (StringErrorPtr) + 1, StringErrorPtr);\r
-              FreePool (StringRightPtr);\r
-              FreePool (StringErrorPtr);\r
-            } else {\r
-              StringPtr = GetToken (HelpInfo, gFormData->HiiHandle);\r
-            }\r
+          MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
+          RefreshKeyHelp (gFormData, MenuOption->ThisTag, FALSE);\r
+\r
+          if (!IsSelectable (MenuOption)) {\r
+            break;\r
           }\r
+\r
+          Status = DisplayOneMenu (\r
+                     MenuOption,\r
+                     MenuOption->Col - gStatementDimensions.LeftColumn,\r
+                     gStatementDimensions.LeftColumn,\r
+                     Temp2,\r
+                     BottomRow,\r
+                     TRUE,\r
+                     FALSE\r
+                     );\r
+        }\r
+\r
+        break;\r
+\r
+      case CfUpdateHelpString:\r
+        ControlFlag = CfPrepareToReadKey;\r
+        if ((FormData->Attribute & HII_DISPLAY_MODAL) != 0) {\r
+          break;\r
         }\r
 \r
-        RowCount      = BottomRow - TopRow + 1;\r
-        HelpPageIndex = 0;\r
         //\r
-        // 1.Calculate how many line the help string need to print.\r
+        // NewLine means only update highlight menu (remove old highlight and highlith\r
+        // the new one), not need to full repain the form.\r
         //\r
-        if (HelpString != NULL) {\r
-          FreePool (HelpString);\r
-          HelpString = NULL;\r
-        }\r
-        HelpLine = ProcessHelpString (StringPtr, &HelpString, &EachLineWidth, RowCount);\r
-        FreePool (StringPtr);\r
-\r
-        if (HelpLine > RowCount) {\r
-          MultiHelpPage   = TRUE;\r
-          StringPtr       = GetToken (STRING_TOKEN(ADJUST_HELP_PAGE_UP), gHiiHandle);\r
-          if (HelpHeaderString != NULL) {\r
-            FreePool (HelpHeaderString);\r
-            HelpHeaderString = NULL;\r
-          }\r
-          HelpHeaderLine  = ProcessHelpString (StringPtr, &HelpHeaderString, &HeaderLineWidth, 0);\r
-          FreePool (StringPtr);\r
-          StringPtr       = GetToken (STRING_TOKEN(ADJUST_HELP_PAGE_DOWN), gHiiHandle);\r
-          if (HelpBottomString != NULL) {\r
-            FreePool (HelpBottomString);\r
-            HelpBottomString = NULL;\r
+        if (Repaint || NewLine) {\r
+          if (IsListEmpty (&gMenuOption)) {\r
+            //\r
+            // Don't print anything if no mwnu option.\r
+            //\r
+            StringPtr = GetToken (STRING_TOKEN (EMPTY_STRING), gHiiHandle);\r
+          } else {\r
+            //\r
+            // Don't print anything if it is a NULL help token\r
+            //\r
+            ASSERT (MenuOption != NULL);\r
+            HelpInfo       = ((EFI_IFR_STATEMENT_HEADER *)((CHAR8 *)MenuOption->ThisTag->OpCode + sizeof (EFI_IFR_OP_HEADER)))->Help;\r
+            Statement      = MenuOption->ThisTag;\r
+            StatementValue = &Statement->CurrentValue;\r
+            if ((HelpInfo == 0) || !IsSelectable (MenuOption)) {\r
+              if (((Statement->OpCode->OpCode == EFI_IFR_DATE_OP) && (StatementValue->Value.date.Month == 0xff)) || ((Statement->OpCode->OpCode == EFI_IFR_TIME_OP) && (StatementValue->Value.time.Hour == 0xff))) {\r
+                StringPtr = GetToken (STRING_TOKEN (GET_TIME_FAIL), gHiiHandle);\r
+              } else {\r
+                StringPtr = GetToken (STRING_TOKEN (EMPTY_STRING), gHiiHandle);\r
+              }\r
+            } else {\r
+              if (((Statement->OpCode->OpCode == EFI_IFR_DATE_OP) && (StatementValue->Value.date.Month == 0xff)) || ((Statement->OpCode->OpCode == EFI_IFR_TIME_OP) && (StatementValue->Value.time.Hour == 0xff))) {\r
+                StringRightPtr = GetToken (HelpInfo, gFormData->HiiHandle);\r
+                StringErrorPtr = GetToken (STRING_TOKEN (GET_TIME_FAIL), gHiiHandle);\r
+                StringPtr      = AllocateZeroPool ((StrLen (StringRightPtr) + StrLen (StringErrorPtr)+ 1) * sizeof (CHAR16));\r
+                StrCpyS (StringPtr, StrLen (StringRightPtr) + StrLen (StringErrorPtr) + 1, StringRightPtr);\r
+                StrCatS (StringPtr, StrLen (StringRightPtr) + StrLen (StringErrorPtr) + 1, StringErrorPtr);\r
+                FreePool (StringRightPtr);\r
+                FreePool (StringErrorPtr);\r
+              } else {\r
+                StringPtr = GetToken (HelpInfo, gFormData->HiiHandle);\r
+              }\r
+            }\r
           }\r
-          HelpBottomLine  = ProcessHelpString (StringPtr, &HelpBottomString, &BottomLineWidth, 0);\r
-          FreePool (StringPtr);\r
+\r
+          RowCount      = BottomRow - TopRow + 1;\r
+          HelpPageIndex = 0;\r
           //\r
-          // Calculate the help page count.\r
+          // 1.Calculate how many line the help string need to print.\r
           //\r
-          if (HelpLine > 2 * RowCount - 2) {\r
-            HelpPageCount = (HelpLine - RowCount + 1) / (RowCount - 2) + 1;\r
-            if ((HelpLine - RowCount + 1) % (RowCount - 2) != 0) {\r
-              HelpPageCount += 1;\r
+          if (HelpString != NULL) {\r
+            FreePool (HelpString);\r
+            HelpString = NULL;\r
+          }\r
+\r
+          HelpLine = ProcessHelpString (StringPtr, &HelpString, &EachLineWidth, RowCount);\r
+          FreePool (StringPtr);\r
+\r
+          if (HelpLine > RowCount) {\r
+            MultiHelpPage = TRUE;\r
+            StringPtr     = GetToken (STRING_TOKEN (ADJUST_HELP_PAGE_UP), gHiiHandle);\r
+            if (HelpHeaderString != NULL) {\r
+              FreePool (HelpHeaderString);\r
+              HelpHeaderString = NULL;\r
+            }\r
+\r
+            HelpHeaderLine = ProcessHelpString (StringPtr, &HelpHeaderString, &HeaderLineWidth, 0);\r
+            FreePool (StringPtr);\r
+            StringPtr = GetToken (STRING_TOKEN (ADJUST_HELP_PAGE_DOWN), gHiiHandle);\r
+            if (HelpBottomString != NULL) {\r
+              FreePool (HelpBottomString);\r
+              HelpBottomString = NULL;\r
+            }\r
+\r
+            HelpBottomLine = ProcessHelpString (StringPtr, &HelpBottomString, &BottomLineWidth, 0);\r
+            FreePool (StringPtr);\r
+            //\r
+            // Calculate the help page count.\r
+            //\r
+            if (HelpLine > 2 * RowCount - 2) {\r
+              HelpPageCount = (HelpLine - RowCount + 1) / (RowCount - 2) + 1;\r
+              if ((HelpLine - RowCount + 1) % (RowCount - 2) != 0) {\r
+                HelpPageCount += 1;\r
+              }\r
+            } else {\r
+              HelpPageCount = 2;\r
             }\r
           } else {\r
-            HelpPageCount = 2;\r
+            MultiHelpPage = FALSE;\r
           }\r
-        } else {\r
-          MultiHelpPage = FALSE;\r
         }\r
-      }\r
 \r
-      //\r
-      // Check whether need to show the 'More(U/u)' at the begin.\r
-      // Base on current direct info, here shows aligned to the right side of the column.\r
-      // If the direction is multi line and aligned to right side may have problem, so\r
-      // add ASSERT code here.\r
-      //\r
-      if (HelpPageIndex > 0) {\r
-        gST->ConOut->SetAttribute (gST->ConOut, GetInfoTextColor ());\r
-        for (Index = 0; Index < HelpHeaderLine; Index++) {\r
-          ASSERT (HelpHeaderLine == 1);\r
-          ASSERT (GetStringWidth (HelpHeaderString) / 2 < ((UINT32) gHelpBlockWidth - 1));\r
-          PrintStringAtWithWidth (\r
-            gStatementDimensions.RightColumn - gHelpBlockWidth,\r
-            Index + TopRow,\r
-            gEmptyString,\r
-            gHelpBlockWidth\r
-            );\r
-          PrintStringAt (\r
-            gStatementDimensions.RightColumn - GetStringWidth (HelpHeaderString) / 2 - 1,\r
-            Index + TopRow,\r
-            &HelpHeaderString[Index * HeaderLineWidth]\r
-            );\r
+        //\r
+        // Check whether need to show the 'More(U/u)' at the begin.\r
+        // Base on current direct info, here shows aligned to the right side of the column.\r
+        // If the direction is multi line and aligned to right side may have problem, so\r
+        // add ASSERT code here.\r
+        //\r
+        if (HelpPageIndex > 0) {\r
+          gST->ConOut->SetAttribute (gST->ConOut, GetInfoTextColor ());\r
+          for (Index = 0; Index < HelpHeaderLine; Index++) {\r
+            ASSERT (HelpHeaderLine == 1);\r
+            ASSERT (GetStringWidth (HelpHeaderString) / 2 < ((UINT32)gHelpBlockWidth - 1));\r
+            PrintStringAtWithWidth (\r
+              gStatementDimensions.RightColumn - gHelpBlockWidth,\r
+              Index + TopRow,\r
+              gEmptyString,\r
+              gHelpBlockWidth\r
+              );\r
+            PrintStringAt (\r
+              gStatementDimensions.RightColumn - GetStringWidth (HelpHeaderString) / 2 - 1,\r
+              Index + TopRow,\r
+              &HelpHeaderString[Index * HeaderLineWidth]\r
+              );\r
+          }\r
         }\r
-      }\r
 \r
-      gST->ConOut->SetAttribute (gST->ConOut, GetHelpTextColor ());\r
-      //\r
-      // Print the help string info.\r
-      //\r
-      if (!MultiHelpPage) {\r
-        for (Index = 0; Index < HelpLine; Index++) {\r
-          PrintStringAtWithWidth (\r
-            gStatementDimensions.RightColumn - gHelpBlockWidth,\r
-            Index + TopRow,\r
-            &HelpString[Index * EachLineWidth],\r
-            gHelpBlockWidth\r
-            );\r
-        }\r
-        for (; Index < RowCount; Index ++) {\r
-          PrintStringAtWithWidth (\r
-            gStatementDimensions.RightColumn - gHelpBlockWidth,\r
-            Index + TopRow,\r
-            gEmptyString,\r
-            gHelpBlockWidth\r
-            );\r
-        }\r
-        gST->ConOut->SetCursorPosition(gST->ConOut, gStatementDimensions.RightColumn-1, BottomRow);\r
-      } else  {\r
-        if (HelpPageIndex == 0) {\r
-          for (Index = 0; Index < RowCount - HelpBottomLine; Index++) {\r
+        gST->ConOut->SetAttribute (gST->ConOut, GetHelpTextColor ());\r
+        //\r
+        // Print the help string info.\r
+        //\r
+        if (!MultiHelpPage) {\r
+          for (Index = 0; Index < HelpLine; Index++) {\r
             PrintStringAtWithWidth (\r
               gStatementDimensions.RightColumn - gHelpBlockWidth,\r
               Index + TopRow,\r
@@ -3087,714 +3109,764 @@ UiDisplayMenu (
               gHelpBlockWidth\r
               );\r
           }\r
-        } else {\r
-          for (Index = 0; (Index < RowCount - HelpBottomLine - HelpHeaderLine) &&\r
-              (Index + HelpPageIndex * (RowCount - 2) + 1 < HelpLine); Index++) {\r
+\r
+          for ( ; Index < RowCount; Index++) {\r
             PrintStringAtWithWidth (\r
               gStatementDimensions.RightColumn - gHelpBlockWidth,\r
-              Index + TopRow + HelpHeaderLine,\r
-              &HelpString[(Index + HelpPageIndex * (RowCount - 2) + 1)* EachLineWidth],\r
+              Index + TopRow,\r
+              gEmptyString,\r
               gHelpBlockWidth\r
               );\r
           }\r
-          if (HelpPageIndex == HelpPageCount - 1) {\r
-            for (; Index < RowCount - HelpHeaderLine; Index ++) {\r
+\r
+          gST->ConOut->SetCursorPosition (gST->ConOut, gStatementDimensions.RightColumn-1, BottomRow);\r
+        } else {\r
+          if (HelpPageIndex == 0) {\r
+            for (Index = 0; Index < RowCount - HelpBottomLine; Index++) {\r
+              PrintStringAtWithWidth (\r
+                gStatementDimensions.RightColumn - gHelpBlockWidth,\r
+                Index + TopRow,\r
+                &HelpString[Index * EachLineWidth],\r
+                gHelpBlockWidth\r
+                );\r
+            }\r
+          } else {\r
+            for (Index = 0; (Index < RowCount - HelpBottomLine - HelpHeaderLine) &&\r
+                 (Index + HelpPageIndex * (RowCount - 2) + 1 < HelpLine); Index++)\r
+            {\r
               PrintStringAtWithWidth (\r
                 gStatementDimensions.RightColumn - gHelpBlockWidth,\r
                 Index + TopRow + HelpHeaderLine,\r
-                gEmptyString,\r
+                &HelpString[(Index + HelpPageIndex * (RowCount - 2) + 1)* EachLineWidth],\r
                 gHelpBlockWidth\r
                 );\r
             }\r
-            gST->ConOut->SetCursorPosition(gST->ConOut, gStatementDimensions.RightColumn-1, BottomRow);\r
-          }\r
-        }\r
-      }\r
-\r
-      //\r
-      // Check whether need to print the 'More(D/d)' at the bottom.\r
-      // Base on current direct info, here shows aligned to the right side of the column.\r
-      // If the direction is multi line and aligned to right side may have problem, so\r
-      // add ASSERT code here.\r
-      //\r
-      if (HelpPageIndex < HelpPageCount - 1 && MultiHelpPage) {\r
-        gST->ConOut->SetAttribute (gST->ConOut, GetInfoTextColor ());\r
-        for (Index = 0; Index < HelpBottomLine; Index++) {\r
-          ASSERT (HelpBottomLine == 1);\r
-          ASSERT (GetStringWidth (HelpBottomString) / 2 < ((UINT32) gHelpBlockWidth - 1));\r
-          PrintStringAtWithWidth (\r
-            gStatementDimensions.RightColumn - gHelpBlockWidth,\r
-            BottomRow + Index - HelpBottomLine + 1,\r
-            gEmptyString,\r
-            gHelpBlockWidth\r
-            );\r
-          PrintStringAt (\r
-            gStatementDimensions.RightColumn - GetStringWidth (HelpBottomString) / 2 - 1,\r
-            BottomRow + Index - HelpBottomLine + 1,\r
-            &HelpBottomString[Index * BottomLineWidth]\r
-            );\r
-        }\r
-      }\r
-      //\r
-      // Reset this flag every time we finish using it.\r
-      //\r
-      Repaint = FALSE;\r
-      NewLine = FALSE;\r
-      break;\r
-\r
-    case CfPrepareToReadKey:\r
-      ControlFlag = CfReadKey;\r
-      ScreenOperation = UiNoOperation;\r
-      break;\r
 \r
-    case CfReadKey:\r
-      ControlFlag = CfScreenOperation;\r
+            if (HelpPageIndex == HelpPageCount - 1) {\r
+              for ( ; Index < RowCount - HelpHeaderLine; Index++) {\r
+                PrintStringAtWithWidth (\r
+                  gStatementDimensions.RightColumn - gHelpBlockWidth,\r
+                  Index + TopRow + HelpHeaderLine,\r
+                  gEmptyString,\r
+                  gHelpBlockWidth\r
+                  );\r
+              }\r
 \r
-      //\r
-      // Wait for user's selection\r
-      //\r
-      while (TRUE) {\r
-        Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
-        if (!EFI_ERROR (Status)) {\r
-          EventType = UIEventKey;\r
-          break;\r
+              gST->ConOut->SetCursorPosition (gST->ConOut, gStatementDimensions.RightColumn-1, BottomRow);\r
+            }\r
+          }\r
         }\r
 \r
         //\r
-        // If we encounter error, continue to read another key in.\r
+        // Check whether need to print the 'More(D/d)' at the bottom.\r
+        // Base on current direct info, here shows aligned to the right side of the column.\r
+        // If the direction is multi line and aligned to right side may have problem, so\r
+        // add ASSERT code here.\r
         //\r
-        if (Status != EFI_NOT_READY) {\r
-          continue;\r
+        if ((HelpPageIndex < HelpPageCount - 1) && MultiHelpPage) {\r
+          gST->ConOut->SetAttribute (gST->ConOut, GetInfoTextColor ());\r
+          for (Index = 0; Index < HelpBottomLine; Index++) {\r
+            ASSERT (HelpBottomLine == 1);\r
+            ASSERT (GetStringWidth (HelpBottomString) / 2 < ((UINT32)gHelpBlockWidth - 1));\r
+            PrintStringAtWithWidth (\r
+              gStatementDimensions.RightColumn - gHelpBlockWidth,\r
+              BottomRow + Index - HelpBottomLine + 1,\r
+              gEmptyString,\r
+              gHelpBlockWidth\r
+              );\r
+            PrintStringAt (\r
+              gStatementDimensions.RightColumn - GetStringWidth (HelpBottomString) / 2 - 1,\r
+              BottomRow + Index - HelpBottomLine + 1,\r
+              &HelpBottomString[Index * BottomLineWidth]\r
+              );\r
+          }\r
         }\r
 \r
-        EventType = UiWaitForEvent(gST->ConIn->WaitForKey);\r
-        if (EventType == UIEventKey) {\r
-          gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
-        }\r
+        //\r
+        // Reset this flag every time we finish using it.\r
+        //\r
+        Repaint = FALSE;\r
+        NewLine = FALSE;\r
         break;\r
-      }\r
 \r
-      if (EventType == UIEventDriver) {\r
-        gMisMatch = TRUE;\r
-        gUserInput->Action = BROWSER_ACTION_NONE;\r
-        ControlFlag = CfExit;\r
+      case CfPrepareToReadKey:\r
+        ControlFlag     = CfReadKey;\r
+        ScreenOperation = UiNoOperation;\r
         break;\r
-      }\r
 \r
-      if (EventType == UIEventTimeOut) {\r
-        gUserInput->Action = BROWSER_ACTION_FORM_EXIT;\r
-        ControlFlag = CfExit;\r
-        break;\r
-      }\r
+      case CfReadKey:\r
+        ControlFlag = CfScreenOperation;\r
+\r
+        //\r
+        // Wait for user's selection\r
+        //\r
+        while (TRUE) {\r
+          Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
+          if (!EFI_ERROR (Status)) {\r
+            EventType = UIEventKey;\r
+            break;\r
+          }\r
+\r
+          //\r
+          // If we encounter error, continue to read another key in.\r
+          //\r
+          if (Status != EFI_NOT_READY) {\r
+            continue;\r
+          }\r
+\r
+          EventType = UiWaitForEvent (gST->ConIn->WaitForKey);\r
+          if (EventType == UIEventKey) {\r
+            gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
+          }\r
 \r
-      switch (Key.UnicodeChar) {\r
-      case CHAR_CARRIAGE_RETURN:\r
-        if(MenuOption == NULL || MenuOption->GrayOut || MenuOption->ReadOnly) {\r
-          ControlFlag = CfReadKey;\r
           break;\r
         }\r
 \r
-        ScreenOperation = UiSelect;\r
-        gDirection      = 0;\r
-        break;\r
+        if (EventType == UIEventDriver) {\r
+          gMisMatch          = TRUE;\r
+          gUserInput->Action = BROWSER_ACTION_NONE;\r
+          ControlFlag        = CfExit;\r
+          break;\r
+        }\r
 \r
-      //\r
-      // We will push the adjustment of these numeric values directly to the input handler\r
-      //  NOTE: we won't handle manual input numeric\r
-      //\r
-      case '+':\r
-      case '-':\r
-        //\r
-        // If the screen has no menu items, and the user didn't select UiReset\r
-        // ignore the selection and go back to reading keys.\r
-        //\r
-        ASSERT(MenuOption != NULL);\r
-        if(IsListEmpty (&gMenuOption) || MenuOption->GrayOut || MenuOption->ReadOnly) {\r
-          ControlFlag = CfReadKey;\r
+        if (EventType == UIEventTimeOut) {\r
+          gUserInput->Action = BROWSER_ACTION_FORM_EXIT;\r
+          ControlFlag        = CfExit;\r
           break;\r
         }\r
 \r
-        Statement = MenuOption->ThisTag;\r
-        if ((Statement->OpCode->OpCode == EFI_IFR_DATE_OP)\r
-          || (Statement->OpCode->OpCode == EFI_IFR_TIME_OP)\r
-          || ((Statement->OpCode->OpCode == EFI_IFR_NUMERIC_OP) && (GetFieldFromNum(Statement->OpCode) != 0))\r
-        ){\r
-          if (Key.UnicodeChar == '+') {\r
-            gDirection = SCAN_RIGHT;\r
-          } else {\r
-            gDirection = SCAN_LEFT;\r
-          }\r
+        switch (Key.UnicodeChar) {\r
+          case CHAR_CARRIAGE_RETURN:\r
+            if ((MenuOption == NULL) || MenuOption->GrayOut || MenuOption->ReadOnly) {\r
+              ControlFlag = CfReadKey;\r
+              break;\r
+            }\r
 \r
-          Status = ProcessOptions (MenuOption, TRUE, &OptionString, TRUE);\r
-          if (OptionString != NULL) {\r
-            FreePool (OptionString);\r
-          }\r
-          if (EFI_ERROR (Status)) {\r
+            ScreenOperation = UiSelect;\r
+            gDirection      = 0;\r
+            break;\r
+\r
+          //\r
+          // We will push the adjustment of these numeric values directly to the input handler\r
+          //  NOTE: we won't handle manual input numeric\r
+          //\r
+          case '+':\r
+          case '-':\r
             //\r
-            // Repaint to clear possible error prompt pop-up\r
+            // If the screen has no menu items, and the user didn't select UiReset\r
+            // ignore the selection and go back to reading keys.\r
             //\r
-            Repaint = TRUE;\r
-            NewLine = TRUE;\r
-          } else {\r
-            ControlFlag = CfExit;\r
-          }\r
-        }\r
-        break;\r
+            ASSERT (MenuOption != NULL);\r
+            if (IsListEmpty (&gMenuOption) || MenuOption->GrayOut || MenuOption->ReadOnly) {\r
+              ControlFlag = CfReadKey;\r
+              break;\r
+            }\r
 \r
-      case '^':\r
-        ScreenOperation = UiUp;\r
-        break;\r
+            Statement = MenuOption->ThisTag;\r
+            if (  (Statement->OpCode->OpCode == EFI_IFR_DATE_OP)\r
+               || (Statement->OpCode->OpCode == EFI_IFR_TIME_OP)\r
+               || ((Statement->OpCode->OpCode == EFI_IFR_NUMERIC_OP) && (GetFieldFromNum (Statement->OpCode) != 0))\r
+                  )\r
+            {\r
+              if (Key.UnicodeChar == '+') {\r
+                gDirection = SCAN_RIGHT;\r
+              } else {\r
+                gDirection = SCAN_LEFT;\r
+              }\r
+\r
+              Status = ProcessOptions (MenuOption, TRUE, &OptionString, TRUE);\r
+              if (OptionString != NULL) {\r
+                FreePool (OptionString);\r
+              }\r
+\r
+              if (EFI_ERROR (Status)) {\r
+                //\r
+                // Repaint to clear possible error prompt pop-up\r
+                //\r
+                Repaint = TRUE;\r
+                NewLine = TRUE;\r
+              } else {\r
+                ControlFlag = CfExit;\r
+              }\r
+            }\r
 \r
-      case 'V':\r
-      case 'v':\r
-        ScreenOperation = UiDown;\r
-        break;\r
+            break;\r
 \r
-      case ' ':\r
-        if(IsListEmpty (&gMenuOption)) {\r
-          ControlFlag = CfReadKey;\r
-          break;\r
-        }\r
+          case '^':\r
+            ScreenOperation = UiUp;\r
+            break;\r
 \r
-        ASSERT(MenuOption != NULL);\r
-        if (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_CHECKBOX_OP && !MenuOption->GrayOut && !MenuOption->ReadOnly) {\r
-          ScreenOperation = UiSelect;\r
-        }\r
-        break;\r
+          case 'V':\r
+          case 'v':\r
+            ScreenOperation = UiDown;\r
+            break;\r
 \r
-      case 'D':\r
-      case 'd':\r
-        if (!MultiHelpPage) {\r
-          ControlFlag = CfReadKey;\r
-          break;\r
-        }\r
-        ControlFlag    = CfUpdateHelpString;\r
-        HelpPageIndex  = HelpPageIndex < HelpPageCount - 1 ? HelpPageIndex + 1 : HelpPageCount - 1;\r
-        break;\r
+          case ' ':\r
+            if (IsListEmpty (&gMenuOption)) {\r
+              ControlFlag = CfReadKey;\r
+              break;\r
+            }\r
 \r
-      case 'U':\r
-      case 'u':\r
-        if (!MultiHelpPage) {\r
-          ControlFlag = CfReadKey;\r
-          break;\r
+            ASSERT (MenuOption != NULL);\r
+            if ((MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_CHECKBOX_OP) && !MenuOption->GrayOut && !MenuOption->ReadOnly) {\r
+              ScreenOperation = UiSelect;\r
+            }\r
+\r
+            break;\r
+\r
+          case 'D':\r
+          case 'd':\r
+            if (!MultiHelpPage) {\r
+              ControlFlag = CfReadKey;\r
+              break;\r
+            }\r
+\r
+            ControlFlag   = CfUpdateHelpString;\r
+            HelpPageIndex = HelpPageIndex < HelpPageCount - 1 ? HelpPageIndex + 1 : HelpPageCount - 1;\r
+            break;\r
+\r
+          case 'U':\r
+          case 'u':\r
+            if (!MultiHelpPage) {\r
+              ControlFlag = CfReadKey;\r
+              break;\r
+            }\r
+\r
+            ControlFlag   = CfUpdateHelpString;\r
+            HelpPageIndex = HelpPageIndex > 0 ? HelpPageIndex - 1 : 0;\r
+            break;\r
+\r
+          case CHAR_NULL:\r
+            for (Index = 0; Index < mScanCodeNumber; Index++) {\r
+              if (Key.ScanCode == gScanCodeToOperation[Index].ScanCode) {\r
+                ScreenOperation = gScanCodeToOperation[Index].ScreenOperation;\r
+                break;\r
+              }\r
+            }\r
+\r
+            if (((FormData->Attribute & HII_DISPLAY_MODAL) != 0) && ((Key.ScanCode == SCAN_ESC) || (Index == mScanCodeNumber))) {\r
+              //\r
+              // ModalForm has no ESC key and Hot Key.\r
+              //\r
+              ControlFlag = CfReadKey;\r
+            } else if (Index == mScanCodeNumber) {\r
+              //\r
+              // Check whether Key matches the registered hot key.\r
+              //\r
+              HotKey = NULL;\r
+              HotKey = GetHotKeyFromRegisterList (&Key);\r
+              if (HotKey != NULL) {\r
+                ScreenOperation = UiHotKey;\r
+              }\r
+            }\r
+\r
+            break;\r
         }\r
-        ControlFlag    = CfUpdateHelpString;\r
-        HelpPageIndex  = HelpPageIndex > 0 ? HelpPageIndex - 1 : 0;\r
+\r
         break;\r
 \r
-      case CHAR_NULL:\r
-        for (Index = 0; Index < mScanCodeNumber; Index++) {\r
-          if (Key.ScanCode == gScanCodeToOperation[Index].ScanCode) {\r
-            ScreenOperation = gScanCodeToOperation[Index].ScreenOperation;\r
+      case CfScreenOperation:\r
+        if ((ScreenOperation != UiReset) && (ScreenOperation != UiHotKey)) {\r
+          //\r
+          // If the screen has no menu items, and the user didn't select UiReset or UiHotKey\r
+          // ignore the selection and go back to reading keys.\r
+          //\r
+          if (IsListEmpty (&gMenuOption)) {\r
+            ControlFlag = CfReadKey;\r
             break;\r
           }\r
         }\r
 \r
-        if (((FormData->Attribute & HII_DISPLAY_MODAL) != 0) && (Key.ScanCode == SCAN_ESC || Index == mScanCodeNumber)) {\r
-          //\r
-          // ModalForm has no ESC key and Hot Key.\r
-          //\r
-          ControlFlag = CfReadKey;\r
-        } else if (Index == mScanCodeNumber) {\r
-          //\r
-          // Check whether Key matches the registered hot key.\r
-          //\r
-          HotKey = NULL;\r
-          HotKey = GetHotKeyFromRegisterList (&Key);\r
-          if (HotKey != NULL) {\r
-            ScreenOperation = UiHotKey;\r
+        for (Index = 0;\r
+             Index < ARRAY_SIZE (gScreenOperationToControlFlag);\r
+             Index++\r
+             )\r
+        {\r
+          if (ScreenOperation == gScreenOperationToControlFlag[Index].ScreenOperation) {\r
+            ControlFlag = gScreenOperationToControlFlag[Index].ControlFlag;\r
+            break;\r
           }\r
         }\r
+\r
         break;\r
-      }\r
-      break;\r
 \r
-    case CfScreenOperation:\r
-      if ((ScreenOperation != UiReset) && (ScreenOperation != UiHotKey)) {\r
-        //\r
-        // If the screen has no menu items, and the user didn't select UiReset or UiHotKey\r
-        // ignore the selection and go back to reading keys.\r
-        //\r
-        if (IsListEmpty (&gMenuOption)) {\r
-          ControlFlag = CfReadKey;\r
-          break;\r
-        }\r
-      }\r
+      case CfUiSelect:\r
+        ControlFlag = CfRepaint;\r
 \r
-      for (Index = 0;\r
-           Index < ARRAY_SIZE (gScreenOperationToControlFlag);\r
-           Index++\r
-          ) {\r
-        if (ScreenOperation == gScreenOperationToControlFlag[Index].ScreenOperation) {\r
-          ControlFlag = gScreenOperationToControlFlag[Index].ControlFlag;\r
+        ASSERT (MenuOption != NULL);\r
+        Statement = MenuOption->ThisTag;\r
+        if (Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) {\r
           break;\r
         }\r
-      }\r
-      break;\r
 \r
-    case CfUiSelect:\r
-      ControlFlag = CfRepaint;\r
+        switch (Statement->OpCode->OpCode) {\r
+          case EFI_IFR_REF_OP:\r
+          case EFI_IFR_ACTION_OP:\r
+          case EFI_IFR_RESET_BUTTON_OP:\r
+            ControlFlag = CfExit;\r
+            break;\r
 \r
-      ASSERT(MenuOption != NULL);\r
-      Statement = MenuOption->ThisTag;\r
-      if (Statement->OpCode->OpCode == EFI_IFR_TEXT_OP) {\r
-        break;\r
-      }\r
+          default:\r
+            //\r
+            // Editable Questions: oneof, ordered list, checkbox, numeric, string, password\r
+            //\r
+            RefreshKeyHelp (gFormData, Statement, TRUE);\r
+            Status = ProcessOptions (MenuOption, TRUE, &OptionString, TRUE);\r
+\r
+            if (OptionString != NULL) {\r
+              FreePool (OptionString);\r
+            }\r
+\r
+            if (EFI_ERROR (Status)) {\r
+              Repaint = TRUE;\r
+              NewLine = TRUE;\r
+              RefreshKeyHelp (gFormData, Statement, FALSE);\r
+              break;\r
+            } else {\r
+              ControlFlag = CfExit;\r
+              break;\r
+            }\r
+        }\r
 \r
-      switch (Statement->OpCode->OpCode) {\r
-      case EFI_IFR_REF_OP:\r
-      case EFI_IFR_ACTION_OP:\r
-      case EFI_IFR_RESET_BUTTON_OP:\r
-        ControlFlag = CfExit;\r
         break;\r
 \r
-      default:\r
+      case CfUiReset:\r
         //\r
-        // Editable Questions: oneof, ordered list, checkbox, numeric, string, password\r
+        // We come here when someone press ESC\r
+        // If the policy is not exit front page when user press ESC, process here.\r
         //\r
-        RefreshKeyHelp (gFormData, Statement, TRUE);\r
-        Status = ProcessOptions (MenuOption, TRUE, &OptionString, TRUE);\r
-\r
-        if (OptionString != NULL) {\r
-          FreePool (OptionString);\r
-        }\r
-\r
-        if (EFI_ERROR (Status)) {\r
-          Repaint = TRUE;\r
-          NewLine = TRUE;\r
-          RefreshKeyHelp (gFormData, Statement, FALSE);\r
-          break;\r
-        } else {\r
-          ControlFlag = CfExit;\r
+        if (!FormExitPolicy ()) {\r
+          Repaint     = TRUE;\r
+          NewLine     = TRUE;\r
+          ControlFlag = CfRepaint;\r
           break;\r
         }\r
-      }\r
-      break;\r
 \r
-    case CfUiReset:\r
-      //\r
-      // We come here when someone press ESC\r
-      // If the policy is not exit front page when user press ESC, process here.\r
-      //\r
-      if (!FormExitPolicy()) {\r
-        Repaint     = TRUE;\r
-        NewLine     = TRUE;\r
-        ControlFlag = CfRepaint;\r
+        gUserInput->Action = BROWSER_ACTION_FORM_EXIT;\r
+        ControlFlag        = CfExit;\r
         break;\r
-      }\r
 \r
-      gUserInput->Action = BROWSER_ACTION_FORM_EXIT;\r
-      ControlFlag = CfExit;\r
-      break;\r
+      case CfUiHotKey:\r
+        ControlFlag = CfRepaint;\r
 \r
-    case CfUiHotKey:\r
-      ControlFlag = CfRepaint;\r
+        ASSERT (HotKey != NULL);\r
 \r
-      ASSERT (HotKey != NULL);\r
+        if (FxConfirmPopup (HotKey->Action)) {\r
+          gUserInput->Action = HotKey->Action;\r
+          if ((HotKey->Action & BROWSER_ACTION_DEFAULT) == BROWSER_ACTION_DEFAULT) {\r
+            gUserInput->DefaultId = HotKey->DefaultId;\r
+          }\r
 \r
-      if (FxConfirmPopup(HotKey->Action)) {\r
-        gUserInput->Action = HotKey->Action;\r
-        if ((HotKey->Action & BROWSER_ACTION_DEFAULT) == BROWSER_ACTION_DEFAULT) {\r
-          gUserInput->DefaultId = HotKey->DefaultId;\r
+          ControlFlag = CfExit;\r
+        } else {\r
+          Repaint     = TRUE;\r
+          NewLine     = TRUE;\r
+          ControlFlag = CfRepaint;\r
         }\r
-        ControlFlag = CfExit;\r
-      } else {\r
-        Repaint     = TRUE;\r
-        NewLine     = TRUE;\r
-        ControlFlag = CfRepaint;\r
-      }\r
 \r
-      break;\r
+        break;\r
 \r
-    case CfUiLeft:\r
-      ControlFlag = CfRepaint;\r
-      ASSERT(MenuOption != NULL);\r
-      if ((MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_DATE_OP) || (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
-        if (MenuOption->Sequence != 0) {\r
-          //\r
-          // In the middle or tail of the Date/Time op-code set, go left.\r
-          //\r
-          ASSERT(NewPos != NULL);\r
-          NewPos = NewPos->BackLink;\r
+      case CfUiLeft:\r
+        ControlFlag = CfRepaint;\r
+        ASSERT (MenuOption != NULL);\r
+        if ((MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_DATE_OP) || (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
+          if (MenuOption->Sequence != 0) {\r
+            //\r
+            // In the middle or tail of the Date/Time op-code set, go left.\r
+            //\r
+            ASSERT (NewPos != NULL);\r
+            NewPos = NewPos->BackLink;\r
+          }\r
         }\r
-      }\r
-      break;\r
 \r
-    case CfUiRight:\r
-      ControlFlag = CfRepaint;\r
-      ASSERT(MenuOption != NULL);\r
-      if ((MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_DATE_OP) || (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
-        if (MenuOption->Sequence != 2) {\r
-          //\r
-          // In the middle or tail of the Date/Time op-code set, go left.\r
-          //\r
-          ASSERT(NewPos != NULL);\r
-          NewPos = NewPos->ForwardLink;\r
+        break;\r
+\r
+      case CfUiRight:\r
+        ControlFlag = CfRepaint;\r
+        ASSERT (MenuOption != NULL);\r
+        if ((MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_DATE_OP) || (MenuOption->ThisTag->OpCode->OpCode == EFI_IFR_TIME_OP)) {\r
+          if (MenuOption->Sequence != 2) {\r
+            //\r
+            // In the middle or tail of the Date/Time op-code set, go left.\r
+            //\r
+            ASSERT (NewPos != NULL);\r
+            NewPos = NewPos->ForwardLink;\r
+          }\r
         }\r
-      }\r
-      break;\r
 \r
-    case CfUiUp:\r
-      ControlFlag = CfRepaint;\r
-      NewLine     = TRUE;\r
+        break;\r
 \r
-      SavedListEntry = NewPos;\r
-      ASSERT(NewPos != NULL);\r
+      case CfUiUp:\r
+        ControlFlag = CfRepaint;\r
+        NewLine     = TRUE;\r
 \r
-      MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
-      ASSERT (MenuOption != NULL);\r
+        SavedListEntry = NewPos;\r
+        ASSERT (NewPos != NULL);\r
 \r
-      //\r
-      // Adjust Date/Time position before we advance forward.\r
-      //\r
-      AdjustDateAndTimePosition (TRUE, &NewPos);\r
+        MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
+        ASSERT (MenuOption != NULL);\r
 \r
-      NewPos     = NewPos->BackLink;\r
-      //\r
-      // Find next selectable menu or the first menu beyond current form.\r
-      //\r
-      Difference = MoveToNextStatement (TRUE, &NewPos, MenuOption->Row - TopRow, FALSE);\r
-      if (Difference < 0) {\r
         //\r
-        // We hit the begining MenuOption that can be focused\r
-        // so we simply scroll to the top.\r
+        // Adjust Date/Time position before we advance forward.\r
         //\r
-        Repaint     = TRUE;\r
-        if (TopOfScreen != gMenuOption.ForwardLink || SkipValue != 0) {\r
-          TopOfScreen = gMenuOption.ForwardLink;\r
-          NewPos      = SavedListEntry;\r
-          SkipValue = 0;\r
-        } else {\r
-          //\r
-          // Scroll up to the last page when we have arrived at top page.\r
-          //\r
-          TopOfScreen = FindTopOfScreenMenu (gMenuOption.BackLink, BottomRow - TopRow, &SkipValue);\r
-          NewPos = gMenuOption.BackLink;\r
-          MoveToNextStatement (TRUE, &NewPos, BottomRow - TopRow, TRUE);\r
-        }\r
-      } else {\r
-        NextMenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
-\r
-        if (MenuOption->Row < TopRow + Difference + NextMenuOption->Skip) {\r
-          //\r
-          // Previous focus MenuOption is above the TopOfScreen, so we need to scroll\r
-          //\r
-          TopOfScreen = NewPos;\r
-          Repaint     = TRUE;\r
-          SkipValue   = 0;\r
-        }\r
+        AdjustDateAndTimePosition (TRUE, &NewPos);\r
 \r
+        NewPos = NewPos->BackLink;\r
         //\r
-        // Check whether new highlight menu is selectable, if not, keep highlight on the old one.\r
-        //\r
-        // BottomRow - TopRow + 1 means the total rows current forms supported.\r
-        // Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu\r
-        // and new top menu. New top menu will all shows in next form, but last highlight menu\r
-        // may only shows 1 line. + 1 at right part means at least need to keep 1 line for the\r
-        // last highlight menu.\r
+        // Find next selectable menu or the first menu beyond current form.\r
         //\r
-        if (!IsSelectable(NextMenuOption) && IsSelectable(MenuOption) &&\r
-            (BottomRow - TopRow + 1 >= Difference + NextMenuOption->Skip + 1)) {\r
-          NewPos = SavedListEntry;\r
-        }\r
-      }\r
-\r
-      UpdateStatusBar (INPUT_ERROR, FALSE);\r
+        Difference = MoveToNextStatement (TRUE, &NewPos, MenuOption->Row - TopRow, FALSE);\r
+        if (Difference < 0) {\r
+          //\r
+          // We hit the begining MenuOption that can be focused\r
+          // so we simply scroll to the top.\r
+          //\r
+          Repaint = TRUE;\r
+          if ((TopOfScreen != gMenuOption.ForwardLink) || (SkipValue != 0)) {\r
+            TopOfScreen = gMenuOption.ForwardLink;\r
+            NewPos      = SavedListEntry;\r
+            SkipValue   = 0;\r
+          } else {\r
+            //\r
+            // Scroll up to the last page when we have arrived at top page.\r
+            //\r
+            TopOfScreen = FindTopOfScreenMenu (gMenuOption.BackLink, BottomRow - TopRow, &SkipValue);\r
+            NewPos      = gMenuOption.BackLink;\r
+            MoveToNextStatement (TRUE, &NewPos, BottomRow - TopRow, TRUE);\r
+          }\r
+        } else {\r
+          NextMenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
 \r
-      //\r
-      // If we encounter a Date/Time op-code set, rewind to the first op-code of the set.\r
-      //\r
-      AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
-      AdjustDateAndTimePosition (TRUE, &NewPos);\r
+          if (MenuOption->Row < TopRow + Difference + NextMenuOption->Skip) {\r
+            //\r
+            // Previous focus MenuOption is above the TopOfScreen, so we need to scroll\r
+            //\r
+            TopOfScreen = NewPos;\r
+            Repaint     = TRUE;\r
+            SkipValue   = 0;\r
+          }\r
 \r
-      UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);\r
-      break;\r
+          //\r
+          // Check whether new highlight menu is selectable, if not, keep highlight on the old one.\r
+          //\r
+          // BottomRow - TopRow + 1 means the total rows current forms supported.\r
+          // Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu\r
+          // and new top menu. New top menu will all shows in next form, but last highlight menu\r
+          // may only shows 1 line. + 1 at right part means at least need to keep 1 line for the\r
+          // last highlight menu.\r
+          //\r
+          if (!IsSelectable (NextMenuOption) && IsSelectable (MenuOption) &&\r
+              (BottomRow - TopRow + 1 >= Difference + NextMenuOption->Skip + 1))\r
+          {\r
+            NewPos = SavedListEntry;\r
+          }\r
+        }\r
 \r
-    case CfUiPageUp:\r
-      //\r
-      // SkipValue means lines is skipped when show the top menu option.\r
-      //\r
-      ControlFlag = CfRepaint;\r
-      NewLine     = TRUE;\r
-      Repaint     = TRUE;\r
+        UpdateStatusBar (INPUT_ERROR, FALSE);\r
 \r
-      Link      = TopOfScreen;\r
-      //\r
-      // First minus the menu of the top screen, it's value is SkipValue.\r
-      //\r
-      if (SkipValue >= BottomRow - TopRow + 1) {\r
         //\r
-        // SkipValue > (BottomRow - TopRow + 1) means current menu has more than one\r
-        // form of options to be show, so just update the SkipValue to show the next\r
-        // parts of options.\r
+        // If we encounter a Date/Time op-code set, rewind to the first op-code of the set.\r
         //\r
-        SkipValue -= BottomRow - TopRow + 1;\r
-        NewPos     = TopOfScreen;\r
+        AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
+        AdjustDateAndTimePosition (TRUE, &NewPos);\r
+\r
+        UpdateHighlightMenuInfo (NewPos, TopOfScreen, SkipValue);\r
         break;\r
-      } else {\r
-        Index     = (BottomRow + 1) - SkipValue - TopRow;\r
-      }\r
 \r
-      TopOfScreen = FindTopOfScreenMenu(TopOfScreen, Index, &SkipValue);\r
-      NewPos = TopOfScreen;\r
-      MoveToNextStatement (FALSE, &NewPos, BottomRow - TopRow, FALSE);\r
+      case CfUiPageUp:\r
+        //\r
+        // SkipValue means lines is skipped when show the top menu option.\r
+        //\r
+        ControlFlag = CfRepaint;\r
+        NewLine     = TRUE;\r
+        Repaint     = TRUE;\r
 \r
-      UpdateStatusBar (INPUT_ERROR, FALSE);\r
+        Link = TopOfScreen;\r
+        //\r
+        // First minus the menu of the top screen, it's value is SkipValue.\r
+        //\r
+        if (SkipValue >= BottomRow - TopRow + 1) {\r
+          //\r
+          // SkipValue > (BottomRow - TopRow + 1) means current menu has more than one\r
+          // form of options to be show, so just update the SkipValue to show the next\r
+          // parts of options.\r
+          //\r
+          SkipValue -= BottomRow - TopRow + 1;\r
+          NewPos     = TopOfScreen;\r
+          break;\r
+        } else {\r
+          Index = (BottomRow + 1) - SkipValue - TopRow;\r
+        }\r
 \r
-      //\r
-      // If we encounter a Date/Time op-code set, rewind to the first op-code of the set.\r
-      // Don't do this when we are already in the first page.\r
-      //\r
-      AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
-      AdjustDateAndTimePosition (TRUE, &NewPos);\r
+        TopOfScreen = FindTopOfScreenMenu (TopOfScreen, Index, &SkipValue);\r
+        NewPos      = TopOfScreen;\r
+        MoveToNextStatement (FALSE, &NewPos, BottomRow - TopRow, FALSE);\r
 \r
-      UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);\r
-      break;\r
+        UpdateStatusBar (INPUT_ERROR, FALSE);\r
 \r
-    case CfUiPageDown:\r
-      //\r
-      // SkipValue means lines is skipped when show the top menu option.\r
-      //\r
-      ControlFlag = CfRepaint;\r
-      NewLine     = TRUE;\r
-      Repaint     = TRUE;\r
+        //\r
+        // If we encounter a Date/Time op-code set, rewind to the first op-code of the set.\r
+        // Don't do this when we are already in the first page.\r
+        //\r
+        AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
+        AdjustDateAndTimePosition (TRUE, &NewPos);\r
 \r
-      Link    = TopOfScreen;\r
-      NextMenuOption = MENU_OPTION_FROM_LINK (Link);\r
-      Index = TopRow + NextMenuOption->Skip - SkipValue;\r
-      //\r
-      // Count to the menu option which will show at the top of the next form.\r
-      //\r
-      while ((Index <= BottomRow + 1) && (Link->ForwardLink != &gMenuOption)) {\r
-        Link           = Link->ForwardLink;\r
-        NextMenuOption = MENU_OPTION_FROM_LINK (Link);\r
-        Index = Index + NextMenuOption->Skip;\r
-      }\r
+        UpdateHighlightMenuInfo (NewPos, TopOfScreen, SkipValue);\r
+        break;\r
 \r
-      if ((Link->ForwardLink == &gMenuOption) && (Index <= BottomRow + 1)) {\r
+      case CfUiPageDown:\r
         //\r
-        // Highlight on the last menu which can be highlight.\r
+        // SkipValue means lines is skipped when show the top menu option.\r
         //\r
-        Repaint = FALSE;\r
-        MoveToNextStatement (TRUE, &Link, Index - TopRow, TRUE);\r
-      } else {\r
+        ControlFlag = CfRepaint;\r
+        NewLine     = TRUE;\r
+        Repaint     = TRUE;\r
+\r
+        Link           = TopOfScreen;\r
+        NextMenuOption = MENU_OPTION_FROM_LINK (Link);\r
+        Index          = TopRow + NextMenuOption->Skip - SkipValue;\r
         //\r
-        // Calculate the skip line for top of screen menu.\r
+        // Count to the menu option which will show at the top of the next form.\r
         //\r
-        if (Link == TopOfScreen) {\r
+        while ((Index <= BottomRow + 1) && (Link->ForwardLink != &gMenuOption)) {\r
+          Link           = Link->ForwardLink;\r
+          NextMenuOption = MENU_OPTION_FROM_LINK (Link);\r
+          Index          = Index + NextMenuOption->Skip;\r
+        }\r
+\r
+        if ((Link->ForwardLink == &gMenuOption) && (Index <= BottomRow + 1)) {\r
           //\r
-          // The top of screen menu option occupies the entire form.\r
+          // Highlight on the last menu which can be highlight.\r
           //\r
-          SkipValue += BottomRow - TopRow + 1;\r
+          Repaint = FALSE;\r
+          MoveToNextStatement (TRUE, &Link, Index - TopRow, TRUE);\r
         } else {\r
-          SkipValue = NextMenuOption->Skip - (Index - (BottomRow + 1));\r
+          //\r
+          // Calculate the skip line for top of screen menu.\r
+          //\r
+          if (Link == TopOfScreen) {\r
+            //\r
+            // The top of screen menu option occupies the entire form.\r
+            //\r
+            SkipValue += BottomRow - TopRow + 1;\r
+          } else {\r
+            SkipValue = NextMenuOption->Skip - (Index - (BottomRow + 1));\r
+          }\r
+\r
+          TopOfScreen = Link;\r
+          MenuOption  = NULL;\r
+          //\r
+          // Move to the Next selectable menu.\r
+          //\r
+          MoveToNextStatement (FALSE, &Link, BottomRow - TopRow, TRUE);\r
         }\r
-        TopOfScreen = Link;\r
-        MenuOption = NULL;\r
+\r
         //\r
-        // Move to the Next selectable menu.\r
+        // Save the menu as the next highlight menu.\r
         //\r
-        MoveToNextStatement (FALSE, &Link, BottomRow - TopRow, TRUE);\r
-      }\r
-\r
-      //\r
-      // Save the menu as the next highlight menu.\r
-      //\r
-      NewPos  = Link;\r
-\r
-      UpdateStatusBar (INPUT_ERROR, FALSE);\r
-\r
-      //\r
-      // If we encounter a Date/Time op-code set, rewind to the first op-code of the set.\r
-      // Don't do this when we are already in the last page.\r
-      //\r
-      AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
-      AdjustDateAndTimePosition (TRUE, &NewPos);\r
+        NewPos = Link;\r
 \r
-      UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);\r
-      break;\r
+        UpdateStatusBar (INPUT_ERROR, FALSE);\r
 \r
-    case CfUiDown:\r
-      //\r
-      // SkipValue means lines is skipped when show the top menu option.\r
-      // NewPos  points to the menu which is highlighted now.\r
-      //\r
-      ControlFlag = CfRepaint;\r
-      NewLine     = TRUE;\r
+        //\r
+        // If we encounter a Date/Time op-code set, rewind to the first op-code of the set.\r
+        // Don't do this when we are already in the last page.\r
+        //\r
+        AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
+        AdjustDateAndTimePosition (TRUE, &NewPos);\r
 \r
-      if (NewPos == TopOfScreen) {\r
-        Temp2 = SkipValue;\r
-      } else {\r
-        Temp2 = 0;\r
-      }\r
+        UpdateHighlightMenuInfo (NewPos, TopOfScreen, SkipValue);\r
+        break;\r
 \r
-      SavedListEntry = NewPos;\r
-      //\r
-      // Since the behavior of hitting the down arrow on a Date/Time op-code is intended\r
-      // to be one that progresses to the next set of op-codes, we need to advance to the last\r
-      // Date/Time op-code and leave the remaining logic in UiDown intact so the appropriate\r
-      // checking can be done.  The only other logic we need to introduce is that if a Date/Time\r
-      // op-code is the last entry in the menu, we need to rewind back to the first op-code of\r
-      // the Date/Time op-code.\r
-      //\r
-      AdjustDateAndTimePosition (FALSE, &NewPos);\r
+      case CfUiDown:\r
+        //\r
+        // SkipValue means lines is skipped when show the top menu option.\r
+        // NewPos  points to the menu which is highlighted now.\r
+        //\r
+        ControlFlag = CfRepaint;\r
+        NewLine     = TRUE;\r
 \r
-      MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
-      NewPos     = NewPos->ForwardLink;\r
-      //\r
-      // Find the next selectable menu.\r
-      //\r
-      if (MenuOption->Row + MenuOption->Skip - Temp2 > BottomRow + 1) {\r
-        if (gMenuOption.ForwardLink == NewPos || &gMenuOption == NewPos) {\r
-          Difference = -1;\r
+        if (NewPos == TopOfScreen) {\r
+          Temp2 = SkipValue;\r
         } else {\r
-          Difference = 0;\r
+          Temp2 = 0;\r
         }\r
-      } else {\r
-        Difference = MoveToNextStatement (FALSE, &NewPos, BottomRow + 1 - (MenuOption->Row + MenuOption->Skip - Temp2), FALSE);\r
-      }\r
-      if (Difference < 0) {\r
+\r
+        SavedListEntry = NewPos;\r
         //\r
-        // Scroll to the first page.\r
+        // Since the behavior of hitting the down arrow on a Date/Time op-code is intended\r
+        // to be one that progresses to the next set of op-codes, we need to advance to the last\r
+        // Date/Time op-code and leave the remaining logic in UiDown intact so the appropriate\r
+        // checking can be done.  The only other logic we need to introduce is that if a Date/Time\r
+        // op-code is the last entry in the menu, we need to rewind back to the first op-code of\r
+        // the Date/Time op-code.\r
         //\r
-        if (TopOfScreen != gMenuOption.ForwardLink || SkipValue != 0) {\r
-          TopOfScreen = gMenuOption.ForwardLink;\r
-          Repaint     = TRUE;\r
-          MenuOption  = NULL;\r
-        } else {\r
-          MenuOption = MENU_OPTION_FROM_LINK (SavedListEntry);\r
-        }\r
-        NewPos        = gMenuOption.ForwardLink;\r
-        MoveToNextStatement (FALSE, &NewPos, BottomRow - TopRow, TRUE);\r
+        AdjustDateAndTimePosition (FALSE, &NewPos);\r
 \r
-        SkipValue = 0;\r
+        MenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
+        NewPos     = NewPos->ForwardLink;\r
         //\r
-        // If we are at the end of the list and sitting on a Date/Time op, rewind to the head.\r
+        // Find the next selectable menu.\r
         //\r
-        AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
-        AdjustDateAndTimePosition (TRUE, &NewPos);\r
+        if (MenuOption->Row + MenuOption->Skip - Temp2 > BottomRow + 1) {\r
+          if ((gMenuOption.ForwardLink == NewPos) || (&gMenuOption == NewPos)) {\r
+            Difference = -1;\r
+          } else {\r
+            Difference = 0;\r
+          }\r
+        } else {\r
+          Difference = MoveToNextStatement (FALSE, &NewPos, BottomRow + 1 - (MenuOption->Row + MenuOption->Skip - Temp2), FALSE);\r
+        }\r
 \r
-        UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);\r
-        break;\r
-      }\r
+        if (Difference < 0) {\r
+          //\r
+          // Scroll to the first page.\r
+          //\r
+          if ((TopOfScreen != gMenuOption.ForwardLink) || (SkipValue != 0)) {\r
+            TopOfScreen = gMenuOption.ForwardLink;\r
+            Repaint     = TRUE;\r
+            MenuOption  = NULL;\r
+          } else {\r
+            MenuOption = MENU_OPTION_FROM_LINK (SavedListEntry);\r
+          }\r
 \r
-      //\r
-      // Get next selected menu info.\r
-      //\r
-      AdjustDateAndTimePosition (FALSE, &NewPos);\r
-      NextMenuOption  = MENU_OPTION_FROM_LINK (NewPos);\r
-      if (NextMenuOption->Row == 0) {\r
-        UpdateOptionSkipLines (NextMenuOption);\r
-      }\r
+          NewPos = gMenuOption.ForwardLink;\r
+          MoveToNextStatement (FALSE, &NewPos, BottomRow - TopRow, TRUE);\r
+\r
+          SkipValue = 0;\r
+          //\r
+          // If we are at the end of the list and sitting on a Date/Time op, rewind to the head.\r
+          //\r
+          AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
+          AdjustDateAndTimePosition (TRUE, &NewPos);\r
+\r
+          UpdateHighlightMenuInfo (NewPos, TopOfScreen, SkipValue);\r
+          break;\r
+        }\r
 \r
-      //\r
-      // Calculate new highlight menu end row.\r
-      //\r
-      Temp = (MenuOption->Row + MenuOption->Skip - Temp2) + Difference + NextMenuOption->Skip - 1;\r
-      if (Temp > BottomRow) {\r
         //\r
-        // Get the top screen menu info.\r
+        // Get next selected menu info.\r
         //\r
-        AdjustDateAndTimePosition (FALSE, &TopOfScreen);\r
-        SavedMenuOption = MENU_OPTION_FROM_LINK (TopOfScreen);\r
+        AdjustDateAndTimePosition (FALSE, &NewPos);\r
+        NextMenuOption = MENU_OPTION_FROM_LINK (NewPos);\r
+        if (NextMenuOption->Row == 0) {\r
+          UpdateOptionSkipLines (NextMenuOption);\r
+        }\r
 \r
         //\r
-        // Current Top screen menu occupy (SavedMenuOption->Skip - SkipValue) rows.\r
-        // Full shows the new selected menu need to skip (Temp - BottomRow - 1) rows.\r
+        // Calculate new highlight menu end row.\r
         //\r
-        if ((Temp - BottomRow) >= (SavedMenuOption->Skip - SkipValue)) {\r
+        Temp = (MenuOption->Row + MenuOption->Skip - Temp2) + Difference + NextMenuOption->Skip - 1;\r
+        if (Temp > BottomRow) {\r
           //\r
-          // Skip the top op-code\r
+          // Get the top screen menu info.\r
           //\r
-          TopOfScreen   = TopOfScreen->ForwardLink;\r
-          DistanceValue = (Temp - BottomRow) - (SavedMenuOption->Skip - SkipValue);\r
-\r
+          AdjustDateAndTimePosition (FALSE, &TopOfScreen);\r
           SavedMenuOption = MENU_OPTION_FROM_LINK (TopOfScreen);\r
 \r
           //\r
-          // If we have a remainder, skip that many more op-codes until we drain the remainder\r
-          // Special case is the selected highlight menu has more than one form of menus.\r
+          // Current Top screen menu occupy (SavedMenuOption->Skip - SkipValue) rows.\r
+          // Full shows the new selected menu need to skip (Temp - BottomRow - 1) rows.\r
           //\r
-          while (DistanceValue >= SavedMenuOption->Skip && TopOfScreen != NewPos) {\r
+          if ((Temp - BottomRow) >= (SavedMenuOption->Skip - SkipValue)) {\r
             //\r
-            // Since the Difference is greater than or equal to this op-code's skip value, skip it\r
+            // Skip the top op-code\r
             //\r
-            DistanceValue   = DistanceValue - (INTN) SavedMenuOption->Skip;\r
-            TopOfScreen     = TopOfScreen->ForwardLink;\r
+            TopOfScreen   = TopOfScreen->ForwardLink;\r
+            DistanceValue = (Temp - BottomRow) - (SavedMenuOption->Skip - SkipValue);\r
+\r
             SavedMenuOption = MENU_OPTION_FROM_LINK (TopOfScreen);\r
-          }\r
-          //\r
-          // Since we will act on this op-code in the next routine, and increment the\r
-          // SkipValue, set the skips to one less than what is required.\r
-          //\r
-          if (TopOfScreen != NewPos) {\r
-            SkipValue = DistanceValue;\r
+\r
+            //\r
+            // If we have a remainder, skip that many more op-codes until we drain the remainder\r
+            // Special case is the selected highlight menu has more than one form of menus.\r
+            //\r
+            while (DistanceValue >= SavedMenuOption->Skip && TopOfScreen != NewPos) {\r
+              //\r
+              // Since the Difference is greater than or equal to this op-code's skip value, skip it\r
+              //\r
+              DistanceValue   = DistanceValue - (INTN)SavedMenuOption->Skip;\r
+              TopOfScreen     = TopOfScreen->ForwardLink;\r
+              SavedMenuOption = MENU_OPTION_FROM_LINK (TopOfScreen);\r
+            }\r
+\r
+            //\r
+            // Since we will act on this op-code in the next routine, and increment the\r
+            // SkipValue, set the skips to one less than what is required.\r
+            //\r
+            if (TopOfScreen != NewPos) {\r
+              SkipValue = DistanceValue;\r
+            } else {\r
+              SkipValue = 0;\r
+            }\r
           } else {\r
-            SkipValue = 0;\r
+            //\r
+            // Since we will act on this op-code in the next routine, and increment the\r
+            // SkipValue, set the skips to one less than what is required.\r
+            //\r
+            SkipValue += Temp - BottomRow;\r
           }\r
-        } else {\r
+\r
+          Repaint = TRUE;\r
+        } else if (!IsSelectable (NextMenuOption)) {\r
           //\r
-          // Since we will act on this op-code in the next routine, and increment the\r
-          // SkipValue, set the skips to one less than what is required.\r
+          // Continue to go down until scroll to next page or the selectable option is found.\r
           //\r
-          SkipValue += Temp - BottomRow;\r
+          ScreenOperation = UiDown;\r
+          ControlFlag     = CfScreenOperation;\r
+          break;\r
         }\r
-        Repaint       = TRUE;\r
-      } else if (!IsSelectable (NextMenuOption)) {\r
+\r
+        MenuOption = MENU_OPTION_FROM_LINK (SavedListEntry);\r
+\r
         //\r
-        // Continue to go down until scroll to next page or the selectable option is found.\r
+        // Check whether new highlight menu is selectable, if not, keep highlight on the old one.\r
         //\r
-        ScreenOperation = UiDown;\r
-        ControlFlag     = CfScreenOperation;\r
-        break;\r
-      }\r
+        // BottomRow - TopRow + 1 means the total rows current forms supported.\r
+        // Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu\r
+        // and new top menu. New top menu will all shows in next form, but last highlight menu\r
+        // may only shows 1 line. + 1 at right part means at least need to keep 1 line for the\r
+        // last highlight menu.\r
+        //\r
+        if (!IsSelectable (NextMenuOption) && IsSelectable (MenuOption) &&\r
+            (BottomRow - TopRow + 1 >= Difference + NextMenuOption->Skip + 1))\r
+        {\r
+          NewPos = SavedListEntry;\r
+        }\r
 \r
-      MenuOption = MENU_OPTION_FROM_LINK (SavedListEntry);\r
+        UpdateStatusBar (INPUT_ERROR, FALSE);\r
 \r
-      //\r
-      // Check whether new highlight menu is selectable, if not, keep highlight on the old one.\r
-      //\r
-      // BottomRow - TopRow + 1 means the total rows current forms supported.\r
-      // Difference + NextMenuOption->Skip + 1 means the distance between last highlight menu\r
-      // and new top menu. New top menu will all shows in next form, but last highlight menu\r
-      // may only shows 1 line. + 1 at right part means at least need to keep 1 line for the\r
-      // last highlight menu.\r
-      //\r
-      if (!IsSelectable (NextMenuOption) && IsSelectable (MenuOption) &&\r
-         (BottomRow - TopRow + 1 >= Difference + NextMenuOption->Skip + 1)) {\r
-        NewPos = SavedListEntry;\r
-      }\r
+        //\r
+        // If we are at the end of the list and sitting on a Date/Time op, rewind to the head.\r
+        //\r
+        AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
+        AdjustDateAndTimePosition (TRUE, &NewPos);\r
 \r
-      UpdateStatusBar (INPUT_ERROR, FALSE);\r
+        UpdateHighlightMenuInfo (NewPos, TopOfScreen, SkipValue);\r
+        break;\r
 \r
-      //\r
-      // If we are at the end of the list and sitting on a Date/Time op, rewind to the head.\r
-      //\r
-      AdjustDateAndTimePosition (TRUE, &TopOfScreen);\r
-      AdjustDateAndTimePosition (TRUE, &NewPos);\r
+      case CfUiNoOperation:\r
+        ControlFlag = CfRepaint;\r
+        break;\r
 \r
-      UpdateHighlightMenuInfo(NewPos, TopOfScreen, SkipValue);\r
-      break;\r
+      case CfExit:\r
+        gST->ConOut->SetAttribute (gST->ConOut, EFI_TEXT_ATTR (EFI_LIGHTGRAY, EFI_BLACK));\r
+        if (HelpString != NULL) {\r
+          FreePool (HelpString);\r
+        }\r
 \r
-    case CfUiNoOperation:\r
-      ControlFlag = CfRepaint;\r
-      break;\r
+        if (HelpHeaderString != NULL) {\r
+          FreePool (HelpHeaderString);\r
+        }\r
 \r
-    case CfExit:\r
-      gST->ConOut->SetAttribute (gST->ConOut, EFI_TEXT_ATTR (EFI_LIGHTGRAY, EFI_BLACK));\r
-      if (HelpString != NULL) {\r
-        FreePool (HelpString);\r
-      }\r
-      if (HelpHeaderString != NULL) {\r
-        FreePool (HelpHeaderString);\r
-      }\r
-      if (HelpBottomString != NULL) {\r
-        FreePool (HelpBottomString);\r
-      }\r
-      return EFI_SUCCESS;\r
+        if (HelpBottomString != NULL) {\r
+          FreePool (HelpBottomString);\r
+        }\r
 \r
-    default:\r
-      break;\r
+        return EFI_SUCCESS;\r
+\r
+      default:\r
+        break;\r
     }\r
   }\r
 }\r
@@ -3806,22 +3878,23 @@ UiDisplayMenu (
 \r
 **/\r
 VOID\r
-FreeMenuOptionData(\r
-  LIST_ENTRY           *MenuOptionList\r
+FreeMenuOptionData (\r
+  LIST_ENTRY  *MenuOptionList\r
   )\r
 {\r
-  LIST_ENTRY           *Link;\r
-  UI_MENU_OPTION       *Option;\r
+  LIST_ENTRY      *Link;\r
+  UI_MENU_OPTION  *Option;\r
 \r
   //\r
   // Free menu option list\r
   //\r
   while (!IsListEmpty (MenuOptionList)) {\r
-    Link = GetFirstNode (MenuOptionList);\r
+    Link   = GetFirstNode (MenuOptionList);\r
     Option = MENU_OPTION_FROM_LINK (Link);\r
-    if (Option->Description != NULL){\r
-      FreePool(Option->Description);\r
+    if (Option->Description != NULL) {\r
+      FreePool (Option->Description);\r
     }\r
+\r
     RemoveEntryList (&Option->Link);\r
     FreePool (Option);\r
   }\r
@@ -3837,20 +3910,20 @@ BrowserStatusProcess (
   VOID\r
   )\r
 {\r
-  CHAR16             *ErrorInfo;\r
-  EFI_INPUT_KEY      Key;\r
-  EFI_EVENT          WaitList[2];\r
-  EFI_EVENT          RefreshIntervalEvent;\r
-  EFI_EVENT          TimeOutEvent;\r
-  UINT8              TimeOut;\r
-  EFI_STATUS         Status;\r
-  UINTN              Index;\r
-  WARNING_IF_CONTEXT EventContext;\r
-  EFI_IFR_OP_HEADER  *OpCodeBuf;\r
-  EFI_STRING_ID      StringToken;\r
-  CHAR16             DiscardChange;\r
-  CHAR16             JumpToFormSet;\r
-  CHAR16             *PrintString;\r
+  CHAR16              *ErrorInfo;\r
+  EFI_INPUT_KEY       Key;\r
+  EFI_EVENT           WaitList[2];\r
+  EFI_EVENT           RefreshIntervalEvent;\r
+  EFI_EVENT           TimeOutEvent;\r
+  UINT8               TimeOut;\r
+  EFI_STATUS          Status;\r
+  UINTN               Index;\r
+  WARNING_IF_CONTEXT  EventContext;\r
+  EFI_IFR_OP_HEADER   *OpCodeBuf;\r
+  EFI_STRING_ID       StringToken;\r
+  CHAR16              DiscardChange;\r
+  CHAR16              JumpToFormSet;\r
+  CHAR16              *PrintString;\r
 \r
   if (gFormData->BrowserStatus == BROWSER_SUCCESS) {\r
     return;\r
@@ -3867,16 +3940,18 @@ BrowserStatusProcess (
   if (gFormData->BrowserStatus == (BROWSER_WARNING_IF)) {\r
     ASSERT (OpCodeBuf != NULL && OpCodeBuf->OpCode == EFI_IFR_WARNING_IF_OP);\r
 \r
-    TimeOut     = ((EFI_IFR_WARNING_IF *) OpCodeBuf)->TimeOut;\r
-    StringToken = ((EFI_IFR_WARNING_IF *) OpCodeBuf)->Warning;\r
+    TimeOut     = ((EFI_IFR_WARNING_IF *)OpCodeBuf)->TimeOut;\r
+    StringToken = ((EFI_IFR_WARNING_IF *)OpCodeBuf)->Warning;\r
   } else {\r
     TimeOut = 0;\r
     if ((gFormData->BrowserStatus == (BROWSER_NO_SUBMIT_IF)) &&\r
-        (OpCodeBuf != NULL && OpCodeBuf->OpCode == EFI_IFR_NO_SUBMIT_IF_OP)) {\r
-      StringToken = ((EFI_IFR_NO_SUBMIT_IF *) OpCodeBuf)->Error;\r
+        ((OpCodeBuf != NULL) && (OpCodeBuf->OpCode == EFI_IFR_NO_SUBMIT_IF_OP)))\r
+    {\r
+      StringToken = ((EFI_IFR_NO_SUBMIT_IF *)OpCodeBuf)->Error;\r
     } else if ((gFormData->BrowserStatus == (BROWSER_INCONSISTENT_IF)) &&\r
-               (OpCodeBuf != NULL && OpCodeBuf->OpCode == EFI_IFR_INCONSISTENT_IF_OP)) {\r
-      StringToken = ((EFI_IFR_INCONSISTENT_IF *) OpCodeBuf)->Error;\r
+               ((OpCodeBuf != NULL) && (OpCodeBuf->OpCode == EFI_IFR_INCONSISTENT_IF_OP)))\r
+    {\r
+      StringToken = ((EFI_IFR_INCONSISTENT_IF *)OpCodeBuf)->Error;\r
     }\r
   }\r
 \r
@@ -3890,127 +3965,129 @@ BrowserStatusProcess (
     ErrorInfo = gFormData->ErrorString;\r
   } else {\r
     switch (gFormData->BrowserStatus) {\r
-    case BROWSER_SUBMIT_FAIL:\r
-      ErrorInfo = gSaveFailed;\r
-      break;\r
+      case BROWSER_SUBMIT_FAIL:\r
+        ErrorInfo = gSaveFailed;\r
+        break;\r
 \r
-    case BROWSER_FORM_NOT_FOUND:\r
-      ErrorInfo = gFormNotFound;\r
-      break;\r
+      case BROWSER_FORM_NOT_FOUND:\r
+        ErrorInfo = gFormNotFound;\r
+        break;\r
 \r
-    case BROWSER_FORM_SUPPRESS:\r
-      ErrorInfo = gFormSuppress;\r
-      break;\r
+      case BROWSER_FORM_SUPPRESS:\r
+        ErrorInfo = gFormSuppress;\r
+        break;\r
 \r
-    case BROWSER_PROTOCOL_NOT_FOUND:\r
-      ErrorInfo = gProtocolNotFound;\r
-      break;\r
+      case BROWSER_PROTOCOL_NOT_FOUND:\r
+        ErrorInfo = gProtocolNotFound;\r
+        break;\r
 \r
-    case BROWSER_SUBMIT_FAIL_NO_SUBMIT_IF:\r
-      ErrorInfo = gNoSubmitIfFailed;\r
-      break;\r
+      case BROWSER_SUBMIT_FAIL_NO_SUBMIT_IF:\r
+        ErrorInfo = gNoSubmitIfFailed;\r
+        break;\r
 \r
-    case BROWSER_RECONNECT_FAIL:\r
-      ErrorInfo = gReconnectFail;\r
-      break;\r
+      case BROWSER_RECONNECT_FAIL:\r
+        ErrorInfo = gReconnectFail;\r
+        break;\r
 \r
-    case BROWSER_RECONNECT_SAVE_CHANGES:\r
-      ErrorInfo = gReconnectConfirmChanges;\r
-      break;\r
+      case BROWSER_RECONNECT_SAVE_CHANGES:\r
+        ErrorInfo = gReconnectConfirmChanges;\r
+        break;\r
 \r
-    case BROWSER_RECONNECT_REQUIRED:\r
-      ErrorInfo = gReconnectRequired;\r
-      break;\r
+      case BROWSER_RECONNECT_REQUIRED:\r
+        ErrorInfo = gReconnectRequired;\r
+        break;\r
 \r
-    default:\r
-      ErrorInfo = gBrowserError;\r
-      break;\r
+      default:\r
+        ErrorInfo = gBrowserError;\r
+        break;\r
     }\r
   }\r
 \r
   switch (gFormData->BrowserStatus) {\r
-  case BROWSER_SUBMIT_FAIL:\r
-  case BROWSER_SUBMIT_FAIL_NO_SUBMIT_IF:\r
-  case BROWSER_RECONNECT_SAVE_CHANGES:\r
-    ASSERT (gUserInput != NULL);\r
-    if (gFormData->BrowserStatus == (BROWSER_SUBMIT_FAIL)) {\r
-      PrintString = gSaveProcess;\r
-      JumpToFormSet = gJumpToFormSet[0];\r
-      DiscardChange = gDiscardChange[0];\r
-    } else if (gFormData->BrowserStatus == (BROWSER_RECONNECT_SAVE_CHANGES)){\r
-      PrintString = gChangesOpt;\r
-      JumpToFormSet = gConfirmOptYes[0];\r
-      DiscardChange = gConfirmOptNo[0];\r
-    } else {\r
-      PrintString = gSaveNoSubmitProcess;\r
-      JumpToFormSet = gCheckError[0];\r
-      DiscardChange = gDiscardChange[0];\r
-    }\r
+    case BROWSER_SUBMIT_FAIL:\r
+    case BROWSER_SUBMIT_FAIL_NO_SUBMIT_IF:\r
+    case BROWSER_RECONNECT_SAVE_CHANGES:\r
+      ASSERT (gUserInput != NULL);\r
+      if (gFormData->BrowserStatus == (BROWSER_SUBMIT_FAIL)) {\r
+        PrintString   = gSaveProcess;\r
+        JumpToFormSet = gJumpToFormSet[0];\r
+        DiscardChange = gDiscardChange[0];\r
+      } else if (gFormData->BrowserStatus == (BROWSER_RECONNECT_SAVE_CHANGES)) {\r
+        PrintString   = gChangesOpt;\r
+        JumpToFormSet = gConfirmOptYes[0];\r
+        DiscardChange = gConfirmOptNo[0];\r
+      } else {\r
+        PrintString   = gSaveNoSubmitProcess;\r
+        JumpToFormSet = gCheckError[0];\r
+        DiscardChange = gDiscardChange[0];\r
+      }\r
 \r
-    do {\r
-      CreateDialog (&Key, gEmptyString, ErrorInfo, PrintString, gEmptyString, NULL);\r
-    } while (((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) != (DiscardChange | UPPER_LOWER_CASE_OFFSET)) &&\r
-             ((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) != (JumpToFormSet | UPPER_LOWER_CASE_OFFSET)));\r
+      do {\r
+        CreateDialog (&Key, gEmptyString, ErrorInfo, PrintString, gEmptyString, NULL);\r
+      } while (((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) != (DiscardChange | UPPER_LOWER_CASE_OFFSET)) &&\r
+               ((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) != (JumpToFormSet | UPPER_LOWER_CASE_OFFSET)));\r
 \r
-    if ((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) == (DiscardChange | UPPER_LOWER_CASE_OFFSET)) {\r
-      gUserInput->Action = BROWSER_ACTION_DISCARD;\r
-    } else {\r
-      gUserInput->Action = BROWSER_ACTION_GOTO;\r
-    }\r
-    break;\r
+      if ((Key.UnicodeChar | UPPER_LOWER_CASE_OFFSET) == (DiscardChange | UPPER_LOWER_CASE_OFFSET)) {\r
+        gUserInput->Action = BROWSER_ACTION_DISCARD;\r
+      } else {\r
+        gUserInput->Action = BROWSER_ACTION_GOTO;\r
+      }\r
 \r
-  default:\r
-    if (TimeOut == 0) {\r
-      do {\r
-        CreateDialog (&Key, gEmptyString, ErrorInfo, gPressEnter, gEmptyString, NULL);\r
-      } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
-    } else {\r
-      Status = gBS->CreateEvent (EVT_NOTIFY_WAIT, TPL_CALLBACK, EmptyEventProcess, NULL, &TimeOutEvent);\r
-      ASSERT_EFI_ERROR (Status);\r
+      break;\r
 \r
-      EventContext.SyncEvent = TimeOutEvent;\r
-      EventContext.TimeOut   = &TimeOut;\r
-      EventContext.ErrorInfo = ErrorInfo;\r
+    default:\r
+      if (TimeOut == 0) {\r
+        do {\r
+          CreateDialog (&Key, gEmptyString, ErrorInfo, gPressEnter, gEmptyString, NULL);\r
+        } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
+      } else {\r
+        Status = gBS->CreateEvent (EVT_NOTIFY_WAIT, TPL_CALLBACK, EmptyEventProcess, NULL, &TimeOutEvent);\r
+        ASSERT_EFI_ERROR (Status);\r
 \r
-      Status = gBS->CreateEvent (EVT_TIMER | EVT_NOTIFY_SIGNAL, TPL_CALLBACK, RefreshTimeOutProcess, &EventContext, &RefreshIntervalEvent);\r
-      ASSERT_EFI_ERROR (Status);\r
+        EventContext.SyncEvent = TimeOutEvent;\r
+        EventContext.TimeOut   = &TimeOut;\r
+        EventContext.ErrorInfo = ErrorInfo;\r
 \r
-      //\r
-      // Show the dialog first to avoid long time not reaction.\r
-      //\r
-      gBS->SignalEvent (RefreshIntervalEvent);\r
+        Status = gBS->CreateEvent (EVT_TIMER | EVT_NOTIFY_SIGNAL, TPL_CALLBACK, RefreshTimeOutProcess, &EventContext, &RefreshIntervalEvent);\r
+        ASSERT_EFI_ERROR (Status);\r
 \r
-      Status = gBS->SetTimer (RefreshIntervalEvent, TimerPeriodic, ONE_SECOND);\r
-      ASSERT_EFI_ERROR (Status);\r
+        //\r
+        // Show the dialog first to avoid long time not reaction.\r
+        //\r
+        gBS->SignalEvent (RefreshIntervalEvent);\r
 \r
-      while (TRUE) {\r
-        Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
-        if (!EFI_ERROR (Status) && Key.UnicodeChar == CHAR_CARRIAGE_RETURN) {\r
-          break;\r
-        }\r
+        Status = gBS->SetTimer (RefreshIntervalEvent, TimerPeriodic, ONE_SECOND);\r
+        ASSERT_EFI_ERROR (Status);\r
 \r
-        if (Status != EFI_NOT_READY) {\r
-          continue;\r
-        }\r
+        while (TRUE) {\r
+          Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
+          if (!EFI_ERROR (Status) && (Key.UnicodeChar == CHAR_CARRIAGE_RETURN)) {\r
+            break;\r
+          }\r
 \r
-        WaitList[0] = TimeOutEvent;\r
-        WaitList[1] = gST->ConIn->WaitForKey;\r
+          if (Status != EFI_NOT_READY) {\r
+            continue;\r
+          }\r
 \r
-        Status = gBS->WaitForEvent (2, WaitList, &Index);\r
-        ASSERT_EFI_ERROR (Status);\r
+          WaitList[0] = TimeOutEvent;\r
+          WaitList[1] = gST->ConIn->WaitForKey;\r
 \r
-        if (Index == 0) {\r
-          //\r
-          // Timeout occur, close the hoot time out event.\r
-          //\r
-          break;\r
+          Status = gBS->WaitForEvent (2, WaitList, &Index);\r
+          ASSERT_EFI_ERROR (Status);\r
+\r
+          if (Index == 0) {\r
+            //\r
+            // Timeout occur, close the hoot time out event.\r
+            //\r
+            break;\r
+          }\r
         }\r
+\r
+        gBS->CloseEvent (TimeOutEvent);\r
+        gBS->CloseEvent (RefreshIntervalEvent);\r
       }\r
 \r
-      gBS->CloseEvent (TimeOutEvent);\r
-      gBS->CloseEvent (RefreshIntervalEvent);\r
-    }\r
-    break;\r
+      break;\r
   }\r
 \r
   if (StringToken != 0) {\r
@@ -4049,7 +4126,7 @@ FormDisplay (
   //\r
   // Process the status info first.\r
   //\r
-  BrowserStatusProcess();\r
+  BrowserStatusProcess ();\r
   if (gFormData->BrowserStatus != BROWSER_SUCCESS) {\r
     //\r
     // gFormData->BrowserStatus != BROWSER_SUCCESS, means only need to print the error info, return here.\r
@@ -4071,25 +4148,26 @@ FormDisplay (
   //   |<-.->|<-.........->|<- .........->|<-...........->|\r
   //     Skip    Prompt         Option         Help\r
   //\r
-  gOptionBlockWidth = (CHAR16) ((gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn) / 3) + 1;\r
-  gHelpBlockWidth   = (CHAR16) (gOptionBlockWidth - 1 - LEFT_SKIPPED_COLUMNS);\r
-  gPromptBlockWidth = (CHAR16) (gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 * (gOptionBlockWidth - 1) - 1);\r
+  gOptionBlockWidth = (CHAR16)((gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn) / 3) + 1;\r
+  gHelpBlockWidth   = (CHAR16)(gOptionBlockWidth - 1 - LEFT_SKIPPED_COLUMNS);\r
+  gPromptBlockWidth = (CHAR16)(gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn - 2 * (gOptionBlockWidth - 1) - 1);\r
 \r
-  ConvertStatementToMenu();\r
+  ConvertStatementToMenu ();\r
 \r
   //\r
   // Check whether layout is changed.\r
   //\r
-  if (mIsFirstForm\r
-      || (gOldFormEntry.HiiHandle != FormData->HiiHandle)\r
-      || (!CompareGuid (&gOldFormEntry.FormSetGuid, &FormData->FormSetGuid))\r
-      || (gOldFormEntry.FormId != FormData->FormId)) {\r
+  if (  mIsFirstForm\r
+     || (gOldFormEntry.HiiHandle != FormData->HiiHandle)\r
+     || (!CompareGuid (&gOldFormEntry.FormSetGuid, &FormData->FormSetGuid))\r
+     || (gOldFormEntry.FormId != FormData->FormId))\r
+  {\r
     mStatementLayoutIsChanged = TRUE;\r
   } else {\r
     mStatementLayoutIsChanged = FALSE;\r
   }\r
 \r
-  Status = UiDisplayMenu(FormData);\r
+  Status = UiDisplayMenu (FormData);\r
 \r
   //\r
   // Backup last form info.\r
@@ -4097,12 +4175,12 @@ FormDisplay (
   mIsFirstForm            = FALSE;\r
   gOldFormEntry.HiiHandle = FormData->HiiHandle;\r
   CopyGuid (&gOldFormEntry.FormSetGuid, &FormData->FormSetGuid);\r
-  gOldFormEntry.FormId    = FormData->FormId;\r
+  gOldFormEntry.FormId = FormData->FormId;\r
 \r
   //\r
-  //Free the Ui menu option list.\r
+  // Free the Ui menu option list.\r
   //\r
-  FreeMenuOptionData(&gMenuOption);\r
+  FreeMenuOptionData (&gMenuOption);\r
 \r
   return Status;\r
 }\r
@@ -4130,9 +4208,9 @@ DriverClearDisplayPage (
 **/\r
 VOID\r
 SetUnicodeMem (\r
-  IN VOID   *Buffer,\r
-  IN UINTN  Size,\r
-  IN CHAR16 Value\r
+  IN VOID    *Buffer,\r
+  IN UINTN   Size,\r
+  IN CHAR16  Value\r
   )\r
 {\r
   CHAR16  *Ptr;\r
@@ -4156,14 +4234,14 @@ SetUnicodeMem (
 EFI_STATUS\r
 EFIAPI\r
 InitializeDisplayEngine (\r
-  IN EFI_HANDLE           ImageHandle,\r
-  IN EFI_SYSTEM_TABLE     *SystemTable\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_STATUS                          Status;\r
-  EFI_INPUT_KEY                       HotKey;\r
-  EFI_STRING                          NewString;\r
-  EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL *FormBrowserEx2;\r
+  EFI_STATUS                              Status;\r
+  EFI_INPUT_KEY                           HotKey;\r
+  EFI_STRING                              NewString;\r
+  EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL  *FormBrowserEx2;\r
 \r
   //\r
   // Publish our HII data\r
@@ -4191,14 +4269,14 @@ InitializeDisplayEngine (
   // Install HII Popup Protocol.\r
   //\r
   Status = gBS->InstallProtocolInterface (\r
-                 &mPrivateData.Handle,\r
-                 &gEfiHiiPopupProtocolGuid,\r
-                 EFI_NATIVE_INTERFACE,\r
-                 &mPrivateData.HiiPopup\r
-                );\r
+                  &mPrivateData.Handle,\r
+                  &gEfiHiiPopupProtocolGuid,\r
+                  EFI_NATIVE_INTERFACE,\r
+                  &mPrivateData.HiiPopup\r
+                  );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
-  InitializeDisplayStrings();\r
+  InitializeDisplayStrings ();\r
 \r
   ZeroMem (&gHighligthMenuInfo, sizeof (gHighligthMenuInfo));\r
   ZeroMem (&gOldFormEntry, sizeof (gOldFormEntry));\r
@@ -4206,20 +4284,20 @@ InitializeDisplayEngine (
   //\r
   // Use BrowserEx2 protocol to register HotKey.\r
   //\r
-  Status = gBS->LocateProtocol (&gEdkiiFormBrowserEx2ProtocolGuid, NULL, (VOID **) &FormBrowserEx2);\r
+  Status = gBS->LocateProtocol (&gEdkiiFormBrowserEx2ProtocolGuid, NULL, (VOID **)&FormBrowserEx2);\r
   if (!EFI_ERROR (Status)) {\r
     //\r
     // Register the default HotKey F9 and F10 again.\r
     //\r
     HotKey.UnicodeChar = CHAR_NULL;\r
-    HotKey.ScanCode   = SCAN_F10;\r
-    NewString         = HiiGetString (gHiiHandle, STRING_TOKEN (FUNCTION_TEN_STRING), NULL);\r
+    HotKey.ScanCode    = SCAN_F10;\r
+    NewString          = HiiGetString (gHiiHandle, STRING_TOKEN (FUNCTION_TEN_STRING), NULL);\r
     ASSERT (NewString != NULL);\r
     FormBrowserEx2->RegisterHotKey (&HotKey, BROWSER_ACTION_SUBMIT, 0, NewString);\r
     FreePool (NewString);\r
 \r
-    HotKey.ScanCode   = SCAN_F9;\r
-    NewString         = HiiGetString (gHiiHandle, STRING_TOKEN (FUNCTION_NINE_STRING), NULL);\r
+    HotKey.ScanCode = SCAN_F9;\r
+    NewString       = HiiGetString (gHiiHandle, STRING_TOKEN (FUNCTION_NINE_STRING), NULL);\r
     ASSERT (NewString != NULL);\r
     FormBrowserEx2->RegisterHotKey (&HotKey, BROWSER_ACTION_DEFAULT, EFI_HII_DEFAULT_CLASS_STANDARD, NewString);\r
     FreePool (NewString);\r
@@ -4240,10 +4318,10 @@ InitializeDisplayEngine (
 EFI_STATUS\r
 EFIAPI\r
 UnloadDisplayEngine (\r
-  IN EFI_HANDLE             ImageHandle\r
+  IN EFI_HANDLE  ImageHandle\r
   )\r
 {\r
-  HiiRemovePackages(gHiiHandle);\r
+  HiiRemovePackages (gHiiHandle);\r
 \r
   FreeDisplayStrings ();\r
 \r