]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/DisplayEngineDxe/ProcessOptions.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Universal / DisplayEngineDxe / ProcessOptions.c
index c02e36a63ad3ce50e6b357a636d518f6e2a731e1..dca3c1df07ba42e12395206220a6a3f169955916 100644 (file)
@@ -22,15 +22,15 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 **/\r
 VOID\r
 NewStrCat (\r
-  IN OUT CHAR16               *Destination,\r
-  IN     UINTN                DestMax,\r
-  IN     CHAR16               *Source\r
+  IN OUT CHAR16  *Destination,\r
+  IN     UINTN   DestMax,\r
+  IN     CHAR16  *Source\r
   )\r
 {\r
-  UINTN Length;\r
+  UINTN  Length;\r
 \r
-  for (Length = 0; Destination[Length] != 0; Length++)\r
-    ;\r
+  for (Length = 0; Destination[Length] != 0; Length++) {\r
+  }\r
 \r
   //\r
   // We now have the length of the original string\r
@@ -54,7 +54,7 @@ NewStrCat (
 **/\r
 UINT64\r
 HiiValueToUINT64 (\r
-  IN EFI_HII_VALUE      *Value\r
+  IN EFI_HII_VALUE  *Value\r
   )\r
 {\r
   UINT64  RetVal;\r
@@ -62,33 +62,33 @@ HiiValueToUINT64 (
   RetVal = 0;\r
 \r
   switch (Value->Type) {\r
-  case EFI_IFR_TYPE_NUM_SIZE_8:\r
-    RetVal = Value->Value.u8;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_8:\r
+      RetVal = Value->Value.u8;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_16:\r
-    RetVal = Value->Value.u16;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_16:\r
+      RetVal = Value->Value.u16;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_32:\r
-    RetVal = Value->Value.u32;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_32:\r
+      RetVal = Value->Value.u32;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_BOOLEAN:\r
-    RetVal = Value->Value.b;\r
-    break;\r
+    case EFI_IFR_TYPE_BOOLEAN:\r
+      RetVal = Value->Value.b;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_DATE:\r
-    RetVal = *(UINT64*) &Value->Value.date;\r
-    break;\r
+    case EFI_IFR_TYPE_DATE:\r
+      RetVal = *(UINT64 *)&Value->Value.date;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_TIME:\r
-    RetVal = (*(UINT64*) &Value->Value.time) & 0xffffff;\r
-    break;\r
+    case EFI_IFR_TYPE_TIME:\r
+      RetVal = (*(UINT64 *)&Value->Value.time) & 0xffffff;\r
+      break;\r
 \r
-  default:\r
-    RetVal = Value->Value.u64;\r
-    break;\r
+    default:\r
+      RetVal = Value->Value.u64;\r
+      break;\r
   }\r
 \r
   return RetVal;\r
@@ -108,18 +108,18 @@ HiiValueToUINT64 (
 **/\r
 BOOLEAN\r
 IsTypeInBuffer (\r
-  IN  EFI_HII_VALUE   *Value\r
+  IN  EFI_HII_VALUE  *Value\r
   )\r
 {\r
   switch (Value->Type) {\r
-  case EFI_IFR_TYPE_BUFFER:\r
-  case EFI_IFR_TYPE_DATE:\r
-  case EFI_IFR_TYPE_TIME:\r
-  case EFI_IFR_TYPE_REF:\r
-    return TRUE;\r
-\r
-  default:\r
-    return FALSE;\r
+    case EFI_IFR_TYPE_BUFFER:\r
+    case EFI_IFR_TYPE_DATE:\r
+    case EFI_IFR_TYPE_TIME:\r
+    case EFI_IFR_TYPE_REF:\r
+      return TRUE;\r
+\r
+    default:\r
+      return FALSE;\r
   }\r
 }\r
 \r
@@ -134,19 +134,19 @@ IsTypeInBuffer (
 **/\r
 BOOLEAN\r
 IsTypeInUINT64 (\r
-  IN  EFI_HII_VALUE   *Value\r
+  IN  EFI_HII_VALUE  *Value\r
   )\r
 {\r
   switch (Value->Type) {\r
-  case EFI_IFR_TYPE_NUM_SIZE_8:\r
-  case EFI_IFR_TYPE_NUM_SIZE_16:\r
-  case EFI_IFR_TYPE_NUM_SIZE_32:\r
-  case EFI_IFR_TYPE_NUM_SIZE_64:\r
-  case EFI_IFR_TYPE_BOOLEAN:\r
-    return TRUE;\r
-\r
-  default:\r
-    return FALSE;\r
+    case EFI_IFR_TYPE_NUM_SIZE_8:\r
+    case EFI_IFR_TYPE_NUM_SIZE_16:\r
+    case EFI_IFR_TYPE_NUM_SIZE_32:\r
+    case EFI_IFR_TYPE_NUM_SIZE_64:\r
+    case EFI_IFR_TYPE_BOOLEAN:\r
+      return TRUE;\r
+\r
+    default:\r
+      return FALSE;\r
   }\r
 }\r
 \r
@@ -163,35 +163,35 @@ IsTypeInUINT64 (
 **/\r
 VOID\r
 GetBufAndLenForValue (\r
-  IN  EFI_HII_VALUE   *Value,\r
-  OUT UINT8           **Buf,\r
-  OUT UINT16          *BufLen\r
+  IN  EFI_HII_VALUE  *Value,\r
+  OUT UINT8          **Buf,\r
+  OUT UINT16         *BufLen\r
   )\r
 {\r
   switch (Value->Type) {\r
-  case EFI_IFR_TYPE_BUFFER:\r
-    *Buf    = Value->Buffer;\r
-    *BufLen = Value->BufferLen;\r
-    break;\r
-\r
-  case EFI_IFR_TYPE_DATE:\r
-    *Buf    = (UINT8 *) (&Value->Value.date);\r
-    *BufLen = (UINT16) sizeof (EFI_HII_DATE);\r
-    break;\r
-\r
-  case EFI_IFR_TYPE_TIME:\r
-    *Buf    = (UINT8 *) (&Value->Value.time);\r
-    *BufLen = (UINT16) sizeof (EFI_HII_TIME);\r
-    break;\r
-\r
-  case EFI_IFR_TYPE_REF:\r
-    *Buf    = (UINT8 *) (&Value->Value.ref);\r
-    *BufLen = (UINT16) sizeof (EFI_HII_REF);\r
-    break;\r
-\r
-  default:\r
-    *Buf    = NULL;\r
-    *BufLen = 0;\r
+    case EFI_IFR_TYPE_BUFFER:\r
+      *Buf    = Value->Buffer;\r
+      *BufLen = Value->BufferLen;\r
+      break;\r
+\r
+    case EFI_IFR_TYPE_DATE:\r
+      *Buf    = (UINT8 *)(&Value->Value.date);\r
+      *BufLen = (UINT16)sizeof (EFI_HII_DATE);\r
+      break;\r
+\r
+    case EFI_IFR_TYPE_TIME:\r
+      *Buf    = (UINT8 *)(&Value->Value.time);\r
+      *BufLen = (UINT16)sizeof (EFI_HII_TIME);\r
+      break;\r
+\r
+    case EFI_IFR_TYPE_REF:\r
+      *Buf    = (UINT8 *)(&Value->Value.ref);\r
+      *BufLen = (UINT16)sizeof (EFI_HII_REF);\r
+      break;\r
+\r
+    default:\r
+      *Buf    = NULL;\r
+      *BufLen = 0;\r
   }\r
 }\r
 \r
@@ -227,8 +227,8 @@ CompareHiiValue (
   UINT8   *Buf2;\r
   UINT16  Buf2Len;\r
 \r
-  if (Value1->Type == EFI_IFR_TYPE_STRING && Value2->Type == EFI_IFR_TYPE_STRING) {\r
-    if (Value1->Value.string == 0 || Value2->Value.string == 0) {\r
+  if ((Value1->Type == EFI_IFR_TYPE_STRING) && (Value2->Type == EFI_IFR_TYPE_STRING)) {\r
+    if ((Value1->Value.string == 0) || (Value2->Value.string == 0)) {\r
       //\r
       // StringId 0 is reserved\r
       //\r
@@ -265,11 +265,11 @@ CompareHiiValue (
   //\r
   // Take types(date, time, ref, buffer) as buffer\r
   //\r
-  if (IsTypeInBuffer(Value1) && IsTypeInBuffer(Value2)) {\r
-    GetBufAndLenForValue(Value1, &Buf1, &Buf1Len);\r
-    GetBufAndLenForValue(Value2, &Buf2, &Buf2Len);\r
+  if (IsTypeInBuffer (Value1) && IsTypeInBuffer (Value2)) {\r
+    GetBufAndLenForValue (Value1, &Buf1, &Buf1Len);\r
+    GetBufAndLenForValue (Value2, &Buf2, &Buf2Len);\r
 \r
-    Len = Buf1Len > Buf2Len ? Buf2Len : Buf1Len;\r
+    Len     = Buf1Len > Buf2Len ? Buf2Len : Buf1Len;\r
     *Result = CompareMem (Buf1, Buf2, Len);\r
     if ((*Result == 0) && (Buf1Len != Buf2Len)) {\r
       //\r
@@ -278,14 +278,15 @@ CompareHiiValue (
       //\r
       *Result = Buf1Len > Buf2Len ? 1 : -1;\r
     }\r
+\r
     return EFI_SUCCESS;\r
   }\r
 \r
   //\r
   // Take remain types(integer, boolean, date/time) as integer\r
   //\r
-  if (IsTypeInUINT64(Value1) && IsTypeInUINT64(Value2)) {\r
-    Temp64 = HiiValueToUINT64(Value1) - HiiValueToUINT64(Value2);\r
+  if (IsTypeInUINT64 (Value1) && IsTypeInUINT64 (Value2)) {\r
+    Temp64 = HiiValueToUINT64 (Value1) - HiiValueToUINT64 (Value2);\r
     if (Temp64 > 0) {\r
       *Result = 1;\r
     } else if (Temp64 < 0) {\r
@@ -293,6 +294,7 @@ CompareHiiValue (
     } else {\r
       *Result = 0;\r
     }\r
+\r
     return EFI_SUCCESS;\r
   }\r
 \r
@@ -311,8 +313,8 @@ CompareHiiValue (
 **/\r
 DISPLAY_QUESTION_OPTION *\r
 ValueToOption (\r
-  IN FORM_DISPLAY_ENGINE_STATEMENT   *Question,\r
-  IN EFI_HII_VALUE                   *OptionValue\r
+  IN FORM_DISPLAY_ENGINE_STATEMENT  *Question,\r
+  IN EFI_HII_VALUE                  *OptionValue\r
   )\r
 {\r
   LIST_ENTRY               *Link;\r
@@ -338,7 +340,6 @@ ValueToOption (
   return NULL;\r
 }\r
 \r
-\r
 /**\r
   Return data element in an Array by its Index.\r
 \r
@@ -351,41 +352,40 @@ ValueToOption (
 **/\r
 UINT64\r
 GetArrayData (\r
-  IN VOID                     *Array,\r
-  IN UINT8                    Type,\r
-  IN UINTN                    Index\r
+  IN VOID   *Array,\r
+  IN UINT8  Type,\r
+  IN UINTN  Index\r
   )\r
 {\r
-  UINT64 Data;\r
+  UINT64  Data;\r
 \r
   ASSERT (Array != NULL);\r
 \r
   Data = 0;\r
   switch (Type) {\r
-  case EFI_IFR_TYPE_NUM_SIZE_8:\r
-    Data = (UINT64) *(((UINT8 *) Array) + Index);\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_8:\r
+      Data = (UINT64)*(((UINT8 *)Array) + Index);\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_16:\r
-    Data = (UINT64) *(((UINT16 *) Array) + Index);\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_16:\r
+      Data = (UINT64)*(((UINT16 *)Array) + Index);\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_32:\r
-    Data = (UINT64) *(((UINT32 *) Array) + Index);\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_32:\r
+      Data = (UINT64)*(((UINT32 *)Array) + Index);\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_64:\r
-    Data = (UINT64) *(((UINT64 *) Array) + Index);\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_64:\r
+      Data = (UINT64)*(((UINT64 *)Array) + Index);\r
+      break;\r
 \r
-  default:\r
-    break;\r
+    default:\r
+      break;\r
   }\r
 \r
   return Data;\r
 }\r
 \r
-\r
 /**\r
   Set value of a data element in an Array by its Index.\r
 \r
@@ -397,34 +397,33 @@ GetArrayData (
 **/\r
 VOID\r
 SetArrayData (\r
-  IN VOID                     *Array,\r
-  IN UINT8                    Type,\r
-  IN UINTN                    Index,\r
-  IN UINT64                   Value\r
+  IN VOID    *Array,\r
+  IN UINT8   Type,\r
+  IN UINTN   Index,\r
+  IN UINT64  Value\r
   )\r
 {\r
-\r
   ASSERT (Array != NULL);\r
 \r
   switch (Type) {\r
-  case EFI_IFR_TYPE_NUM_SIZE_8:\r
-    *(((UINT8 *) Array) + Index) = (UINT8) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_8:\r
+      *(((UINT8 *)Array) + Index) = (UINT8)Value;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_16:\r
-    *(((UINT16 *) Array) + Index) = (UINT16) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_16:\r
+      *(((UINT16 *)Array) + Index) = (UINT16)Value;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_32:\r
-    *(((UINT32 *) Array) + Index) = (UINT32) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_32:\r
+      *(((UINT32 *)Array) + Index) = (UINT32)Value;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_64:\r
-    *(((UINT64 *) Array) + Index) = (UINT64) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_64:\r
+      *(((UINT64 *)Array) + Index) = (UINT64)Value;\r
+      break;\r
 \r
-  default:\r
-    break;\r
+    default:\r
+      break;\r
   }\r
 }\r
 \r
@@ -442,15 +441,15 @@ SetArrayData (
 **/\r
 BOOLEAN\r
 FindArrayData (\r
-  IN VOID                     *Array,\r
-  IN UINT8                    Type,\r
-  IN UINT64                   Value,\r
-  OUT UINTN                   *Index OPTIONAL\r
+  IN VOID    *Array,\r
+  IN UINT8   Type,\r
+  IN UINT64  Value,\r
+  OUT UINTN  *Index OPTIONAL\r
   )\r
 {\r
-  UINTN  Count;\r
-  UINT64 TmpValue;\r
-  UINT64 ValueComp;\r
+  UINTN   Count;\r
+  UINT64  TmpValue;\r
+  UINT64  ValueComp;\r
 \r
   ASSERT (Array != NULL);\r
 \r
@@ -458,25 +457,25 @@ FindArrayData (
   TmpValue = 0;\r
 \r
   switch (Type) {\r
-  case EFI_IFR_TYPE_NUM_SIZE_8:\r
-    ValueComp = (UINT8) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_8:\r
+      ValueComp = (UINT8)Value;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_16:\r
-    ValueComp = (UINT16) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_16:\r
+      ValueComp = (UINT16)Value;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_32:\r
-    ValueComp = (UINT32) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_32:\r
+      ValueComp = (UINT32)Value;\r
+      break;\r
 \r
-  case EFI_IFR_TYPE_NUM_SIZE_64:\r
-    ValueComp = (UINT64) Value;\r
-    break;\r
+    case EFI_IFR_TYPE_NUM_SIZE_64:\r
+      ValueComp = (UINT64)Value;\r
+      break;\r
 \r
-  default:\r
-    ValueComp = 0;\r
-    break;\r
+    default:\r
+      ValueComp = 0;\r
+      break;\r
   }\r
 \r
   while ((TmpValue = GetArrayData (Array, Type, Count)) != 0) {\r
@@ -484,10 +483,11 @@ FindArrayData (
       if (Index != NULL) {\r
         *Index = Count;\r
       }\r
+\r
       return TRUE;\r
     }\r
 \r
-    Count ++;\r
+    Count++;\r
   }\r
 \r
   return FALSE;\r
@@ -506,62 +506,63 @@ FindArrayData (
 **/\r
 EFI_STATUS\r
 PrintFormattedNumber (\r
-  IN FORM_DISPLAY_ENGINE_STATEMENT   *Question,\r
-  IN OUT CHAR16               *FormattedNumber,\r
-  IN UINTN                    BufferSize\r
+  IN FORM_DISPLAY_ENGINE_STATEMENT  *Question,\r
+  IN OUT CHAR16                     *FormattedNumber,\r
+  IN UINTN                          BufferSize\r
   )\r
 {\r
-  INT64          Value;\r
-  CHAR16         *Format;\r
-  EFI_HII_VALUE  *QuestionValue;\r
-  EFI_IFR_NUMERIC *NumericOp;\r
+  INT64            Value;\r
+  CHAR16           *Format;\r
+  EFI_HII_VALUE    *QuestionValue;\r
+  EFI_IFR_NUMERIC  *NumericOp;\r
 \r
   if (BufferSize < (21 * sizeof (CHAR16))) {\r
     return EFI_BUFFER_TOO_SMALL;\r
   }\r
 \r
   QuestionValue = &Question->CurrentValue;\r
-  NumericOp     = (EFI_IFR_NUMERIC *) Question->OpCode;\r
+  NumericOp     = (EFI_IFR_NUMERIC *)Question->OpCode;\r
 \r
-  Value = (INT64) QuestionValue->Value.u64;\r
+  Value = (INT64)QuestionValue->Value.u64;\r
   switch (NumericOp->Flags & EFI_IFR_DISPLAY) {\r
-  case EFI_IFR_DISPLAY_INT_DEC:\r
-    switch (QuestionValue->Type) {\r
-    case EFI_IFR_NUMERIC_SIZE_1:\r
-      Value = (INT64) ((INT8) QuestionValue->Value.u8);\r
-      break;\r
+    case EFI_IFR_DISPLAY_INT_DEC:\r
+      switch (QuestionValue->Type) {\r
+        case EFI_IFR_NUMERIC_SIZE_1:\r
+          Value = (INT64)((INT8)QuestionValue->Value.u8);\r
+          break;\r
 \r
-    case EFI_IFR_NUMERIC_SIZE_2:\r
-      Value = (INT64) ((INT16) QuestionValue->Value.u16);\r
-      break;\r
+        case EFI_IFR_NUMERIC_SIZE_2:\r
+          Value = (INT64)((INT16)QuestionValue->Value.u16);\r
+          break;\r
 \r
-    case EFI_IFR_NUMERIC_SIZE_4:\r
-      Value = (INT64) ((INT32) QuestionValue->Value.u32);\r
-      break;\r
+        case EFI_IFR_NUMERIC_SIZE_4:\r
+          Value = (INT64)((INT32)QuestionValue->Value.u32);\r
+          break;\r
+\r
+        case EFI_IFR_NUMERIC_SIZE_8:\r
+        default:\r
+          break;\r
+      }\r
+\r
+      if (Value < 0) {\r
+        Value  = -Value;\r
+        Format = L"-%ld";\r
+      } else {\r
+        Format = L"%ld";\r
+      }\r
 \r
-    case EFI_IFR_NUMERIC_SIZE_8:\r
-    default:\r
       break;\r
-    }\r
 \r
-    if (Value < 0) {\r
-      Value = -Value;\r
-      Format = L"-%ld";\r
-    } else {\r
+    case EFI_IFR_DISPLAY_UINT_DEC:\r
       Format = L"%ld";\r
-    }\r
-    break;\r
-\r
-  case EFI_IFR_DISPLAY_UINT_DEC:\r
-    Format = L"%ld";\r
-    break;\r
+      break;\r
 \r
-  case EFI_IFR_DISPLAY_UINT_HEX:\r
-    Format = L"%lx";\r
-    break;\r
+    case EFI_IFR_DISPLAY_UINT_HEX:\r
+      Format = L"%lx";\r
+      break;\r
 \r
-  default:\r
-    return EFI_UNSUPPORTED;\r
+    default:\r
+      return EFI_UNSUPPORTED;\r
   }\r
 \r
   UnicodeSPrint (FormattedNumber, BufferSize, Format, Value);\r
@@ -569,7 +570,6 @@ PrintFormattedNumber (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Draw a pop up windows based on the dimension, number of lines and\r
   strings specified.\r
@@ -581,9 +581,9 @@ PrintFormattedNumber (
 **/\r
 VOID\r
 CreateSharedPopUp (\r
-  IN  UINTN                       RequestedWidth,\r
-  IN  UINTN                       NumberOfLines,\r
-  IN  VA_LIST                     Marker\r
+  IN  UINTN    RequestedWidth,\r
+  IN  UINTN    NumberOfLines,\r
+  IN  VA_LIST  Marker\r
   )\r
 {\r
   UINTN   Index;\r
@@ -597,8 +597,8 @@ CreateSharedPopUp (
   UINTN   DimensionsWidth;\r
   UINTN   DimensionsHeight;\r
 \r
-  DimensionsWidth   = gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn;\r
-  DimensionsHeight  = gStatementDimensions.BottomRow - gStatementDimensions.TopRow;\r
+  DimensionsWidth  = gStatementDimensions.RightColumn - gStatementDimensions.LeftColumn;\r
+  DimensionsHeight = gStatementDimensions.BottomRow - gStatementDimensions.TopRow;\r
 \r
   gST->ConOut->SetAttribute (gST->ConOut, GetPopupColor ());\r
 \r
@@ -610,11 +610,11 @@ CreateSharedPopUp (
   // Subtract the PopUp width from total Columns, allow for one space extra on\r
   // each end plus a border.\r
   //\r
-  Start     = (DimensionsWidth - RequestedWidth - 2) / 2 + gStatementDimensions.LeftColumn + 1;\r
-  End       = Start + RequestedWidth + 1;\r
+  Start = (DimensionsWidth - RequestedWidth - 2) / 2 + gStatementDimensions.LeftColumn + 1;\r
+  End   = Start + RequestedWidth + 1;\r
 \r
-  Top       = ((DimensionsHeight - NumberOfLines - 2) / 2) + gStatementDimensions.TopRow - 1;\r
-  Bottom    = Top + NumberOfLines + 2;\r
+  Top    = ((DimensionsHeight - NumberOfLines - 2) / 2) + gStatementDimensions.TopRow - 1;\r
+  Bottom = Top + NumberOfLines + 2;\r
 \r
   Character = BOXDRAW_DOWN_RIGHT;\r
   PrintCharAt (Start, Top, Character);\r
@@ -629,7 +629,7 @@ CreateSharedPopUp (
 \r
   Count = 0;\r
   for (Index = Top; Index + 2 < Bottom; Index++, Count++) {\r
-    String = VA_ARG (Marker, CHAR16*);\r
+    String = VA_ARG (Marker, CHAR16 *);\r
 \r
     //\r
     // This will clear the background of the line - we never know who might have been\r
@@ -687,12 +687,12 @@ CreateSharedPopUp (
 VOID\r
 EFIAPI\r
 CreateMultiStringPopUp (\r
-  IN  UINTN                       RequestedWidth,\r
-  IN  UINTN                       NumberOfLines,\r
+  IN  UINTN  RequestedWidth,\r
+  IN  UINTN  NumberOfLines,\r
   ...\r
   )\r
 {\r
-  VA_LIST Marker;\r
+  VA_LIST  Marker;\r
 \r
   VA_START (Marker, NumberOfLines);\r
 \r
@@ -711,8 +711,8 @@ CreateMultiStringPopUp (
 VOID\r
 EFIAPI\r
 EmptyEventProcess (\r
-  IN  EFI_EVENT    Event,\r
-  IN  VOID         *Context\r
+  IN  EFI_EVENT  Event,\r
+  IN  VOID       *Context\r
   )\r
 {\r
 }\r
@@ -727,14 +727,14 @@ EmptyEventProcess (
 VOID\r
 EFIAPI\r
 RefreshTimeOutProcess (\r
-  IN  EFI_EVENT    Event,\r
-  IN  VOID         *Context\r
+  IN  EFI_EVENT  Event,\r
+  IN  VOID       *Context\r
   )\r
 {\r
-  WARNING_IF_CONTEXT     *EventInfo;\r
-  CHAR16                 TimeOutString[MAX_TIME_OUT_LEN];\r
+  WARNING_IF_CONTEXT  *EventInfo;\r
+  CHAR16              TimeOutString[MAX_TIME_OUT_LEN];\r
 \r
-  EventInfo   = (WARNING_IF_CONTEXT *) Context;\r
+  EventInfo = (WARNING_IF_CONTEXT *)Context;\r
 \r
   if (*(EventInfo->TimeOut) == 0) {\r
     gBS->CloseEvent (Event);\r
@@ -743,7 +743,7 @@ RefreshTimeOutProcess (
     return;\r
   }\r
 \r
-  UnicodeSPrint(TimeOutString, MAX_TIME_OUT_LEN, L"%d", *(EventInfo->TimeOut));\r
+  UnicodeSPrint (TimeOutString, MAX_TIME_OUT_LEN, L"%d", *(EventInfo->TimeOut));\r
 \r
   CreateDialog (NULL, gEmptyString, EventInfo->ErrorInfo, gPressEnter, gEmptyString, TimeOutString, NULL);\r
 \r
@@ -780,19 +780,19 @@ PasswordInvalid (
 **/\r
 EFI_STATUS\r
 PasswordProcess (\r
-  IN  UI_MENU_OPTION              *MenuOption\r
+  IN  UI_MENU_OPTION  *MenuOption\r
   )\r
 {\r
-  CHAR16                          *StringPtr;\r
-  CHAR16                          *TempString;\r
-  UINTN                           Maximum;\r
-  EFI_STATUS                      Status;\r
-  EFI_IFR_PASSWORD                *PasswordInfo;\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Question;\r
-  EFI_INPUT_KEY                   Key;\r
+  CHAR16                         *StringPtr;\r
+  CHAR16                         *TempString;\r
+  UINTN                          Maximum;\r
+  EFI_STATUS                     Status;\r
+  EFI_IFR_PASSWORD               *PasswordInfo;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Question;\r
+  EFI_INPUT_KEY                  Key;\r
 \r
   Question     = MenuOption->ThisTag;\r
-  PasswordInfo = (EFI_IFR_PASSWORD *) Question->OpCode;\r
+  PasswordInfo = (EFI_IFR_PASSWORD *)Question->OpCode;\r
   Maximum      = PasswordInfo->MaxSize;\r
   Status       = EFI_SUCCESS;\r
 \r
@@ -803,8 +803,8 @@ PasswordProcess (
   // Use a NULL password to test whether old password is required\r
   //\r
   *StringPtr = 0;\r
-  Status = Question->PasswordCheck (gFormData, Question, StringPtr);\r
-  if (Status == EFI_NOT_AVAILABLE_YET || Status == EFI_UNSUPPORTED) {\r
+  Status     = Question->PasswordCheck (gFormData, Question, StringPtr);\r
+  if ((Status == EFI_NOT_AVAILABLE_YET) || (Status == EFI_UNSUPPORTED)) {\r
     //\r
     // Password can't be set now.\r
     //\r
@@ -813,6 +813,7 @@ PasswordProcess (
         CreateDialog (&Key, gEmptyString, gPasswordUnsupported, gPressEnter, gEmptyString, NULL);\r
       } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
     }\r
+\r
     FreePool (StringPtr);\r
     return EFI_SUCCESS;\r
   }\r
@@ -841,6 +842,7 @@ PasswordProcess (
       } else {\r
         Status = EFI_SUCCESS;\r
       }\r
+\r
       ZeroMem (StringPtr, (Maximum + 1) * sizeof (CHAR16));\r
       FreePool (StringPtr);\r
       return Status;\r
@@ -884,10 +886,10 @@ PasswordProcess (
   // Compare two typed-in new passwords\r
   //\r
   if (StrCmp (StringPtr, TempString) == 0) {\r
-    gUserInput->InputValue.Buffer = AllocateCopyPool (Question->CurrentValue.BufferLen, StringPtr);\r
-    gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;\r
-    gUserInput->InputValue.Type = Question->CurrentValue.Type;\r
-    gUserInput->InputValue.Value.string = HiiSetString(gFormData->HiiHandle, gUserInput->InputValue.Value.string, StringPtr, NULL);\r
+    gUserInput->InputValue.Buffer       = AllocateCopyPool (Question->CurrentValue.BufferLen, StringPtr);\r
+    gUserInput->InputValue.BufferLen    = Question->CurrentValue.BufferLen;\r
+    gUserInput->InputValue.Type         = Question->CurrentValue.Type;\r
+    gUserInput->InputValue.Value.string = HiiSetString (gFormData->HiiHandle, gUserInput->InputValue.Value.string, StringPtr, NULL);\r
 \r
     Status = EFI_SUCCESS;\r
   } else {\r
@@ -905,6 +907,7 @@ PasswordProcess (
 \r
     Status = EFI_INVALID_PARAMETER;\r
   }\r
+\r
   ZeroMem (TempString, (Maximum + 1) * sizeof (CHAR16));\r
   ZeroMem (StringPtr, (Maximum + 1) * sizeof (CHAR16));\r
   FreePool (TempString);\r
@@ -921,69 +924,69 @@ PasswordProcess (
 **/\r
 VOID\r
 PrintMismatchMenuInfo (\r
-  IN  UI_MENU_OPTION              *MenuOption\r
-)\r
+  IN  UI_MENU_OPTION  *MenuOption\r
+  )\r
 {\r
-  CHAR16                          *FormTitleStr;\r
-  CHAR16                          *FormSetTitleStr;\r
-  CHAR16                          *OneOfOptionStr;\r
-  CHAR16                          *QuestionName;\r
-  LIST_ENTRY                      *Link;\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Question;\r
-  EFI_IFR_ORDERED_LIST            *OrderList;\r
-  UINT8                           Index;\r
-  EFI_HII_VALUE                   HiiValue;\r
-  EFI_HII_VALUE                   *QuestionValue;\r
-  DISPLAY_QUESTION_OPTION         *Option;\r
-  UINT8                           *ValueArray;\r
-  UINT8                           ValueType;\r
-  EFI_IFR_FORM_SET                *FormsetBuffer;\r
-  UINTN                           FormsetBufferSize;\r
+  CHAR16                         *FormTitleStr;\r
+  CHAR16                         *FormSetTitleStr;\r
+  CHAR16                         *OneOfOptionStr;\r
+  CHAR16                         *QuestionName;\r
+  LIST_ENTRY                     *Link;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Question;\r
+  EFI_IFR_ORDERED_LIST           *OrderList;\r
+  UINT8                          Index;\r
+  EFI_HII_VALUE                  HiiValue;\r
+  EFI_HII_VALUE                  *QuestionValue;\r
+  DISPLAY_QUESTION_OPTION        *Option;\r
+  UINT8                          *ValueArray;\r
+  UINT8                          ValueType;\r
+  EFI_IFR_FORM_SET               *FormsetBuffer;\r
+  UINTN                          FormsetBufferSize;\r
 \r
   Question = MenuOption->ThisTag;\r
   HiiGetFormSetFromHiiHandle (gFormData->HiiHandle, &FormsetBuffer, &FormsetBufferSize);\r
 \r
   FormSetTitleStr = GetToken (FormsetBuffer->FormSetTitle, gFormData->HiiHandle);\r
-  FormTitleStr = GetToken (gFormData->FormTitle, gFormData->HiiHandle);\r
+  FormTitleStr    = GetToken (gFormData->FormTitle, gFormData->HiiHandle);\r
 \r
   DEBUG ((DEBUG_ERROR, "\n[%a]: Mismatch Formset    : Formset Guid = %g,  FormSet title = %s\n", gEfiCallerBaseName, &gFormData->FormSetGuid, FormSetTitleStr));\r
   DEBUG ((DEBUG_ERROR, "[%a]: Mismatch Form       : FormId = %d,  Form title = %s.\n", gEfiCallerBaseName, gFormData->FormId, FormTitleStr));\r
 \r
   if (Question->OpCode->OpCode == EFI_IFR_ORDERED_LIST_OP) {\r
-    QuestionName = GetToken (((EFI_IFR_ORDERED_LIST*)MenuOption->ThisTag->OpCode)->Question.Header.Prompt, gFormData->HiiHandle);\r
-    Link = GetFirstNode (&Question->OptionListHead);\r
-    Option = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
-    ValueType = Option->OptionOpCode->Type;\r
+    QuestionName = GetToken (((EFI_IFR_ORDERED_LIST *)MenuOption->ThisTag->OpCode)->Question.Header.Prompt, gFormData->HiiHandle);\r
+    Link         = GetFirstNode (&Question->OptionListHead);\r
+    Option       = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
+    ValueType    = Option->OptionOpCode->Type;\r
     DEBUG ((DEBUG_ERROR, "[%a]: Mismatch Error      : OrderedList value in the array doesn't match with option value.\n", gEfiCallerBaseName));\r
     DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OrderedList: Name = %s.\n", gEfiCallerBaseName, QuestionName));\r
     DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OrderedList: OrderedList array value :\n", gEfiCallerBaseName));\r
 \r
-    OrderList = (EFI_IFR_ORDERED_LIST *) Question->OpCode;\r
+    OrderList = (EFI_IFR_ORDERED_LIST *)Question->OpCode;\r
     for (Index = 0; Index < OrderList->MaxContainers; Index++) {\r
-      ValueArray = Question->CurrentValue.Buffer;\r
+      ValueArray         = Question->CurrentValue.Buffer;\r
       HiiValue.Value.u64 = GetArrayData (ValueArray, ValueType, Index);\r
       DEBUG ((DEBUG_ERROR, "                                       Value[%d] =%ld.\n", Index, HiiValue.Value.u64));\r
     }\r
   } else if (Question->OpCode->OpCode == EFI_IFR_ONE_OF_OP) {\r
-    QuestionName = GetToken (((EFI_IFR_ONE_OF*)MenuOption->ThisTag->OpCode)->Question.Header.Prompt, gFormData->HiiHandle);\r
+    QuestionName  = GetToken (((EFI_IFR_ONE_OF *)MenuOption->ThisTag->OpCode)->Question.Header.Prompt, gFormData->HiiHandle);\r
     QuestionValue = &Question->CurrentValue;\r
     DEBUG ((DEBUG_ERROR, "[%a]: Mismatch Error      : OneOf value doesn't match with option value.\n", gEfiCallerBaseName));\r
     DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : Name = %s.\n", gEfiCallerBaseName, QuestionName));\r
     switch (QuestionValue->Type) {\r
       case EFI_IFR_TYPE_NUM_SIZE_64:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %ld.\n",gEfiCallerBaseName, QuestionValue->Value.u64));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %ld.\n", gEfiCallerBaseName, QuestionValue->Value.u64));\r
         break;\r
 \r
       case EFI_IFR_TYPE_NUM_SIZE_32:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %d.\n",gEfiCallerBaseName, QuestionValue->Value.u32));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %d.\n", gEfiCallerBaseName, QuestionValue->Value.u32));\r
         break;\r
 \r
       case EFI_IFR_TYPE_NUM_SIZE_16:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %d.\n",gEfiCallerBaseName, QuestionValue->Value.u16));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %d.\n", gEfiCallerBaseName, QuestionValue->Value.u16));\r
         break;\r
 \r
       case EFI_IFR_TYPE_NUM_SIZE_8:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %d.\n",gEfiCallerBaseName, QuestionValue->Value.u8));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Mismatch OneOf      : OneOf value = %d.\n", gEfiCallerBaseName, QuestionValue->Value.u8));\r
         break;\r
 \r
       default:\r
@@ -993,31 +996,32 @@ PrintMismatchMenuInfo (
   }\r
 \r
   Index = 0;\r
-  Link = GetFirstNode (&Question->OptionListHead);\r
+  Link  = GetFirstNode (&Question->OptionListHead);\r
   while (!IsNull (&Question->OptionListHead, Link)) {\r
-    Option = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
+    Option         = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
     OneOfOptionStr = GetToken (Option->OptionOpCode->Option, gFormData->HiiHandle);\r
     switch (Option->OptionOpCode->Type) {\r
       case EFI_IFR_TYPE_NUM_SIZE_64:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %ld,  Option Name = %s.\n",gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u64, OneOfOptionStr));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %ld,  Option Name = %s.\n", gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u64, OneOfOptionStr));\r
         break;\r
 \r
       case EFI_IFR_TYPE_NUM_SIZE_32:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %d,  Option Name = %s.\n",gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u32, OneOfOptionStr));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %d,  Option Name = %s.\n", gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u32, OneOfOptionStr));\r
         break;\r
 \r
       case EFI_IFR_TYPE_NUM_SIZE_16:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %d,  Option Name = %s.\n",gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u16, OneOfOptionStr));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %d,  Option Name = %s.\n", gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u16, OneOfOptionStr));\r
         break;\r
 \r
       case EFI_IFR_TYPE_NUM_SIZE_8:\r
-        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %d,  Option Name = %s.\n",gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u8, OneOfOptionStr));\r
+        DEBUG ((DEBUG_ERROR, "[%a]: Option %d            : Option Value = %d,  Option Name = %s.\n", gEfiCallerBaseName, Index, Option->OptionOpCode->Value.u8, OneOfOptionStr));\r
         break;\r
 \r
       default:\r
         ASSERT (FALSE);\r
         break;\r
     }\r
+\r
     Link = GetNextNode (&Question->OptionListHead, Link);\r
     Index++;\r
   }\r
@@ -1037,34 +1041,34 @@ PrintMismatchMenuInfo (
 **/\r
 EFI_STATUS\r
 ProcessOptions (\r
-  IN  UI_MENU_OPTION              *MenuOption,\r
-  IN  BOOLEAN                     Selected,\r
-  OUT CHAR16                      **OptionString,\r
-  IN  BOOLEAN                     SkipErrorValue\r
+  IN  UI_MENU_OPTION  *MenuOption,\r
+  IN  BOOLEAN         Selected,\r
+  OUT CHAR16          **OptionString,\r
+  IN  BOOLEAN         SkipErrorValue\r
   )\r
 {\r
-  EFI_STATUS                      Status;\r
-  CHAR16                          *StringPtr;\r
-  UINTN                           Index;\r
-  FORM_DISPLAY_ENGINE_STATEMENT   *Question;\r
-  CHAR16                          FormattedNumber[21];\r
-  UINT16                          Number;\r
-  CHAR16                          Character[2];\r
-  EFI_INPUT_KEY                   Key;\r
-  UINTN                           BufferSize;\r
-  DISPLAY_QUESTION_OPTION         *OneOfOption;\r
-  LIST_ENTRY                      *Link;\r
-  EFI_HII_VALUE                   HiiValue;\r
-  EFI_HII_VALUE                   *QuestionValue;\r
-  DISPLAY_QUESTION_OPTION         *Option;\r
-  UINTN                           Index2;\r
-  UINT8                           *ValueArray;\r
-  UINT8                           ValueType;\r
-  EFI_IFR_ORDERED_LIST            *OrderList;\r
-  BOOLEAN                         ValueInvalid;\r
-  UINTN                           MaxLen;\r
-\r
-  Status        = EFI_SUCCESS;\r
+  EFI_STATUS                     Status;\r
+  CHAR16                         *StringPtr;\r
+  UINTN                          Index;\r
+  FORM_DISPLAY_ENGINE_STATEMENT  *Question;\r
+  CHAR16                         FormattedNumber[21];\r
+  UINT16                         Number;\r
+  CHAR16                         Character[2];\r
+  EFI_INPUT_KEY                  Key;\r
+  UINTN                          BufferSize;\r
+  DISPLAY_QUESTION_OPTION        *OneOfOption;\r
+  LIST_ENTRY                     *Link;\r
+  EFI_HII_VALUE                  HiiValue;\r
+  EFI_HII_VALUE                  *QuestionValue;\r
+  DISPLAY_QUESTION_OPTION        *Option;\r
+  UINTN                          Index2;\r
+  UINT8                          *ValueArray;\r
+  UINT8                          ValueType;\r
+  EFI_IFR_ORDERED_LIST           *OrderList;\r
+  BOOLEAN                        ValueInvalid;\r
+  UINTN                          MaxLen;\r
+\r
+  Status = EFI_SUCCESS;\r
 \r
   StringPtr     = NULL;\r
   Character[1]  = L'\0';\r
@@ -1074,54 +1078,132 @@ ProcessOptions (
   ZeroMem (FormattedNumber, 21 * sizeof (CHAR16));\r
   BufferSize = (gOptionBlockWidth + 1) * 2 * gStatementDimensions.BottomRow;\r
 \r
-  Question = MenuOption->ThisTag;\r
+  Question      = MenuOption->ThisTag;\r
   QuestionValue = &Question->CurrentValue;\r
 \r
   switch (Question->OpCode->OpCode) {\r
-  case EFI_IFR_ORDERED_LIST_OP:\r
+    case EFI_IFR_ORDERED_LIST_OP:\r
 \r
-    //\r
-    // Check whether there are Options of this OrderedList\r
-    //\r
-    if (IsListEmpty (&Question->OptionListHead)) {\r
-      break;\r
-    }\r
+      //\r
+      // Check whether there are Options of this OrderedList\r
+      //\r
+      if (IsListEmpty (&Question->OptionListHead)) {\r
+        break;\r
+      }\r
 \r
-    OrderList = (EFI_IFR_ORDERED_LIST *) Question->OpCode;\r
+      OrderList = (EFI_IFR_ORDERED_LIST *)Question->OpCode;\r
 \r
-    Link = GetFirstNode (&Question->OptionListHead);\r
-    OneOfOption = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
+      Link        = GetFirstNode (&Question->OptionListHead);\r
+      OneOfOption = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
 \r
-    ValueType =  OneOfOption->OptionOpCode->Type;\r
-    ValueArray = Question->CurrentValue.Buffer;\r
+      ValueType  =  OneOfOption->OptionOpCode->Type;\r
+      ValueArray = Question->CurrentValue.Buffer;\r
 \r
-    if (Selected) {\r
-      //\r
-      // Go ask for input\r
-      //\r
-      Status = GetSelectionInputPopUp (MenuOption);\r
-    } else {\r
-      //\r
-      // We now know how many strings we will have, so we can allocate the\r
-      // space required for the array or strings.\r
-      //\r
-      MaxLen = OrderList->MaxContainers * BufferSize / sizeof (CHAR16);\r
-      *OptionString = AllocateZeroPool (MaxLen * sizeof (CHAR16));\r
-      ASSERT (*OptionString);\r
-\r
-      HiiValue.Type = ValueType;\r
-      HiiValue.Value.u64 = 0;\r
-      for (Index = 0; Index < OrderList->MaxContainers; Index++) {\r
-        HiiValue.Value.u64 = GetArrayData (ValueArray, ValueType, Index);\r
-        if (HiiValue.Value.u64 == 0) {\r
-          //\r
-          // Values for the options in ordered lists should never be a 0\r
-          //\r
+      if (Selected) {\r
+        //\r
+        // Go ask for input\r
+        //\r
+        Status = GetSelectionInputPopUp (MenuOption);\r
+      } else {\r
+        //\r
+        // We now know how many strings we will have, so we can allocate the\r
+        // space required for the array or strings.\r
+        //\r
+        MaxLen        = OrderList->MaxContainers * BufferSize / sizeof (CHAR16);\r
+        *OptionString = AllocateZeroPool (MaxLen * sizeof (CHAR16));\r
+        ASSERT (*OptionString);\r
+\r
+        HiiValue.Type      = ValueType;\r
+        HiiValue.Value.u64 = 0;\r
+        for (Index = 0; Index < OrderList->MaxContainers; Index++) {\r
+          HiiValue.Value.u64 = GetArrayData (ValueArray, ValueType, Index);\r
+          if (HiiValue.Value.u64 == 0) {\r
+            //\r
+            // Values for the options in ordered lists should never be a 0\r
+            //\r
+            break;\r
+          }\r
+\r
+          OneOfOption = ValueToOption (Question, &HiiValue);\r
+          if (OneOfOption == NULL) {\r
+            //\r
+            // Print debug msg for the mistach menu.\r
+            //\r
+            PrintMismatchMenuInfo (MenuOption);\r
+\r
+            if (SkipErrorValue) {\r
+              //\r
+              // Just try to get the option string, skip the value which not has option.\r
+              //\r
+              continue;\r
+            }\r
+\r
+            //\r
+            // Show error message\r
+            //\r
+            do {\r
+              CreateDialog (&Key, gEmptyString, gOptionMismatch, gPressEnter, gEmptyString, NULL);\r
+            } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
+\r
+            //\r
+            // The initial value of the orderedlist is invalid, force to be valid value\r
+            // Exit current DisplayForm with new value.\r
+            //\r
+            gUserInput->SelectedStatement = Question;\r
+            gMisMatch                     = TRUE;\r
+            ValueArray                    = AllocateZeroPool (Question->CurrentValue.BufferLen);\r
+            ASSERT (ValueArray != NULL);\r
+            gUserInput->InputValue.Buffer    = ValueArray;\r
+            gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;\r
+            gUserInput->InputValue.Type      = Question->CurrentValue.Type;\r
+\r
+            Link   = GetFirstNode (&Question->OptionListHead);\r
+            Index2 = 0;\r
+            while (!IsNull (&Question->OptionListHead, Link) && Index2 < OrderList->MaxContainers) {\r
+              Option = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
+              Link   = GetNextNode (&Question->OptionListHead, Link);\r
+              SetArrayData (ValueArray, ValueType, Index2, Option->OptionOpCode->Value.u64);\r
+              Index2++;\r
+            }\r
+\r
+            SetArrayData (ValueArray, ValueType, Index2, 0);\r
+\r
+            FreePool (*OptionString);\r
+            *OptionString = NULL;\r
+            return EFI_NOT_FOUND;\r
+          }\r
+\r
+          Character[0] = LEFT_ONEOF_DELIMITER;\r
+          NewStrCat (OptionString[0], MaxLen, Character);\r
+          StringPtr = GetToken (OneOfOption->OptionOpCode->Option, gFormData->HiiHandle);\r
+          ASSERT (StringPtr != NULL);\r
+          NewStrCat (OptionString[0], MaxLen, StringPtr);\r
+          Character[0] = RIGHT_ONEOF_DELIMITER;\r
+          NewStrCat (OptionString[0], MaxLen, Character);\r
+          Character[0] = CHAR_CARRIAGE_RETURN;\r
+          NewStrCat (OptionString[0], MaxLen, Character);\r
+          FreePool (StringPtr);\r
+        }\r
+\r
+        //\r
+        // If valid option more than the max container, skip these options.\r
+        //\r
+        if (Index >= OrderList->MaxContainers) {\r
           break;\r
         }\r
 \r
-        OneOfOption = ValueToOption (Question, &HiiValue);\r
-        if (OneOfOption == NULL) {\r
+        //\r
+        // Search the other options, try to find the one not in the container.\r
+        //\r
+        Link = GetFirstNode (&Question->OptionListHead);\r
+        while (!IsNull (&Question->OptionListHead, Link)) {\r
+          OneOfOption = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
+          Link        = GetNextNode (&Question->OptionListHead, Link);\r
+\r
+          if (FindArrayData (ValueArray, ValueType, OneOfOption->OptionOpCode->Value.u64, NULL)) {\r
+            continue;\r
+          }\r
+\r
           //\r
           // Print debug msg for the mistach menu.\r
           //\r
@@ -1129,400 +1211,340 @@ ProcessOptions (
 \r
           if (SkipErrorValue) {\r
             //\r
-            // Just try to get the option string, skip the value which not has option.\r
+            // Not report error, just get the correct option string info.\r
             //\r
+            Character[0] = LEFT_ONEOF_DELIMITER;\r
+            NewStrCat (OptionString[0], MaxLen, Character);\r
+            StringPtr = GetToken (OneOfOption->OptionOpCode->Option, gFormData->HiiHandle);\r
+            ASSERT (StringPtr != NULL);\r
+            NewStrCat (OptionString[0], MaxLen, StringPtr);\r
+            Character[0] = RIGHT_ONEOF_DELIMITER;\r
+            NewStrCat (OptionString[0], MaxLen, Character);\r
+            Character[0] = CHAR_CARRIAGE_RETURN;\r
+            NewStrCat (OptionString[0], MaxLen, Character);\r
+            FreePool (StringPtr);\r
+\r
             continue;\r
           }\r
 \r
-          //\r
-          // Show error message\r
-          //\r
-          do {\r
-            CreateDialog (&Key, gEmptyString, gOptionMismatch, gPressEnter, gEmptyString, NULL);\r
-          } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
+          if (!ValueInvalid) {\r
+            ValueInvalid = TRUE;\r
+            //\r
+            // Show error message\r
+            //\r
+            do {\r
+              CreateDialog (&Key, gEmptyString, gOptionMismatch, gPressEnter, gEmptyString, NULL);\r
+            } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
 \r
-          //\r
-          // The initial value of the orderedlist is invalid, force to be valid value\r
-          // Exit current DisplayForm with new value.\r
-          //\r
-          gUserInput->SelectedStatement = Question;\r
-          gMisMatch = TRUE;\r
-          ValueArray = AllocateZeroPool (Question->CurrentValue.BufferLen);\r
-          ASSERT (ValueArray != NULL);\r
-          gUserInput->InputValue.Buffer    = ValueArray;\r
-          gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;\r
-          gUserInput->InputValue.Type      = Question->CurrentValue.Type;\r
-\r
-          Link = GetFirstNode (&Question->OptionListHead);\r
-          Index2 = 0;\r
-          while (!IsNull (&Question->OptionListHead, Link) && Index2 < OrderList->MaxContainers) {\r
-            Option = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
-            Link = GetNextNode (&Question->OptionListHead, Link);\r
-            SetArrayData (ValueArray, ValueType, Index2, Option->OptionOpCode->Value.u64);\r
-            Index2++;\r
+            //\r
+            // The initial value of the orderedlist is invalid, force to be valid value\r
+            // Exit current DisplayForm with new value.\r
+            //\r
+            gUserInput->SelectedStatement = Question;\r
+            gMisMatch                     = TRUE;\r
+            ValueArray                    = AllocateCopyPool (Question->CurrentValue.BufferLen, Question->CurrentValue.Buffer);\r
+            ASSERT (ValueArray != NULL);\r
+            gUserInput->InputValue.Buffer    = ValueArray;\r
+            gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;\r
+            gUserInput->InputValue.Type      = Question->CurrentValue.Type;\r
           }\r
-          SetArrayData (ValueArray, ValueType, Index2, 0);\r
 \r
+          SetArrayData (ValueArray, ValueType, Index++, OneOfOption->OptionOpCode->Value.u64);\r
+        }\r
+\r
+        if (ValueInvalid) {\r
           FreePool (*OptionString);\r
           *OptionString = NULL;\r
           return EFI_NOT_FOUND;\r
         }\r
-\r
-        Character[0] = LEFT_ONEOF_DELIMITER;\r
-        NewStrCat (OptionString[0], MaxLen, Character);\r
-        StringPtr = GetToken (OneOfOption->OptionOpCode->Option, gFormData->HiiHandle);\r
-        ASSERT (StringPtr != NULL);\r
-        NewStrCat (OptionString[0], MaxLen, StringPtr);\r
-        Character[0] = RIGHT_ONEOF_DELIMITER;\r
-        NewStrCat (OptionString[0], MaxLen, Character);\r
-        Character[0] = CHAR_CARRIAGE_RETURN;\r
-        NewStrCat (OptionString[0], MaxLen, Character);\r
-        FreePool (StringPtr);\r
       }\r
 \r
+      break;\r
+\r
+    case EFI_IFR_ONE_OF_OP:\r
       //\r
-      // If valid option more than the max container, skip these options.\r
+      // Check whether there are Options of this OneOf\r
       //\r
-      if (Index >= OrderList->MaxContainers) {\r
+      if (IsListEmpty (&Question->OptionListHead)) {\r
         break;\r
       }\r
 \r
-      //\r
-      // Search the other options, try to find the one not in the container.\r
-      //\r
-      Link = GetFirstNode (&Question->OptionListHead);\r
-      while (!IsNull (&Question->OptionListHead, Link)) {\r
-        OneOfOption = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
-        Link = GetNextNode (&Question->OptionListHead, Link);\r
-\r
-        if (FindArrayData (ValueArray, ValueType, OneOfOption->OptionOpCode->Value.u64, NULL)) {\r
-          continue;\r
-        }\r
-\r
+      if (Selected) {\r
         //\r
-        // Print debug msg for the mistach menu.\r
+        // Go ask for input\r
         //\r
-        PrintMismatchMenuInfo (MenuOption);\r
+        Status = GetSelectionInputPopUp (MenuOption);\r
+      } else {\r
+        MaxLen        = BufferSize / sizeof (CHAR16);\r
+        *OptionString = AllocateZeroPool (BufferSize);\r
+        ASSERT (*OptionString);\r
 \r
-        if (SkipErrorValue) {\r
+        OneOfOption = ValueToOption (Question, QuestionValue);\r
+        if (OneOfOption == NULL) {\r
           //\r
-          // Not report error, just get the correct option string info.\r
+          // Print debug msg for the mistach menu.\r
           //\r
-          Character[0] = LEFT_ONEOF_DELIMITER;\r
-          NewStrCat (OptionString[0], MaxLen, Character);\r
-          StringPtr = GetToken (OneOfOption->OptionOpCode->Option, gFormData->HiiHandle);\r
-          ASSERT (StringPtr != NULL);\r
-          NewStrCat (OptionString[0], MaxLen, StringPtr);\r
-          Character[0] = RIGHT_ONEOF_DELIMITER;\r
-          NewStrCat (OptionString[0], MaxLen, Character);\r
-          Character[0] = CHAR_CARRIAGE_RETURN;\r
-          NewStrCat (OptionString[0], MaxLen, Character);\r
-          FreePool (StringPtr);\r
+          PrintMismatchMenuInfo (MenuOption);\r
 \r
-          continue;\r
-        }\r
+          if (SkipErrorValue) {\r
+            //\r
+            // Not report error, just get the correct option string info.\r
+            //\r
+            Link        = GetFirstNode (&Question->OptionListHead);\r
+            OneOfOption = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
+          } else {\r
+            //\r
+            // Show error message\r
+            //\r
+            do {\r
+              CreateDialog (&Key, gEmptyString, gOptionMismatch, gPressEnter, gEmptyString, NULL);\r
+            } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
 \r
-        if (!ValueInvalid) {\r
-          ValueInvalid = TRUE;\r
-          //\r
-          // Show error message\r
-          //\r
-          do {\r
-            CreateDialog (&Key, gEmptyString, gOptionMismatch, gPressEnter, gEmptyString, NULL);\r
-          } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
+            //\r
+            // Force the Question value to be valid\r
+            // Exit current DisplayForm with new value.\r
+            //\r
+            Link   = GetFirstNode (&Question->OptionListHead);\r
+            Option = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
 \r
-          //\r
-          // The initial value of the orderedlist is invalid, force to be valid value\r
-          // Exit current DisplayForm with new value.\r
-          //\r
-          gUserInput->SelectedStatement = Question;\r
-          gMisMatch = TRUE;\r
-          ValueArray = AllocateCopyPool (Question->CurrentValue.BufferLen, Question->CurrentValue.Buffer);\r
-          ASSERT (ValueArray != NULL);\r
-          gUserInput->InputValue.Buffer    = ValueArray;\r
-          gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;\r
-          gUserInput->InputValue.Type      = Question->CurrentValue.Type;\r
+            gUserInput->InputValue.Type = Option->OptionOpCode->Type;\r
+            switch (gUserInput->InputValue.Type) {\r
+              case EFI_IFR_TYPE_NUM_SIZE_8:\r
+                gUserInput->InputValue.Value.u8 = Option->OptionOpCode->Value.u8;\r
+                break;\r
+              case EFI_IFR_TYPE_NUM_SIZE_16:\r
+                CopyMem (&gUserInput->InputValue.Value.u16, &Option->OptionOpCode->Value.u16, sizeof (UINT16));\r
+                break;\r
+              case EFI_IFR_TYPE_NUM_SIZE_32:\r
+                CopyMem (&gUserInput->InputValue.Value.u32, &Option->OptionOpCode->Value.u32, sizeof (UINT32));\r
+                break;\r
+              case EFI_IFR_TYPE_NUM_SIZE_64:\r
+                CopyMem (&gUserInput->InputValue.Value.u64, &Option->OptionOpCode->Value.u64, sizeof (UINT64));\r
+                break;\r
+              default:\r
+                ASSERT (FALSE);\r
+                break;\r
+            }\r
+\r
+            gUserInput->SelectedStatement = Question;\r
+            gMisMatch                     = TRUE;\r
+            FreePool (*OptionString);\r
+            *OptionString = NULL;\r
+            return EFI_NOT_FOUND;\r
+          }\r
         }\r
 \r
-        SetArrayData (ValueArray, ValueType, Index++, OneOfOption->OptionOpCode->Value.u64);\r
-      }\r
+        Character[0] = LEFT_ONEOF_DELIMITER;\r
+        NewStrCat (OptionString[0], MaxLen, Character);\r
+        StringPtr = GetToken (OneOfOption->OptionOpCode->Option, gFormData->HiiHandle);\r
+        ASSERT (StringPtr != NULL);\r
+        NewStrCat (OptionString[0], MaxLen, StringPtr);\r
+        Character[0] = RIGHT_ONEOF_DELIMITER;\r
+        NewStrCat (OptionString[0], MaxLen, Character);\r
 \r
-      if (ValueInvalid) {\r
-        FreePool (*OptionString);\r
-        *OptionString = NULL;\r
-        return EFI_NOT_FOUND;\r
+        FreePool (StringPtr);\r
       }\r
-    }\r
-    break;\r
 \r
-  case EFI_IFR_ONE_OF_OP:\r
-    //\r
-    // Check whether there are Options of this OneOf\r
-    //\r
-    if (IsListEmpty (&Question->OptionListHead)) {\r
       break;\r
-    }\r
-    if (Selected) {\r
-      //\r
-      // Go ask for input\r
-      //\r
-      Status = GetSelectionInputPopUp (MenuOption);\r
-    } else {\r
-      MaxLen = BufferSize / sizeof(CHAR16);\r
-      *OptionString = AllocateZeroPool (BufferSize);\r
-      ASSERT (*OptionString);\r
 \r
-      OneOfOption = ValueToOption (Question, QuestionValue);\r
-      if (OneOfOption == NULL) {\r
+    case EFI_IFR_CHECKBOX_OP:\r
+      if (Selected) {\r
         //\r
-        // Print debug msg for the mistach menu.\r
+        // Since this is a BOOLEAN operation, flip it upon selection\r
         //\r
-        PrintMismatchMenuInfo (MenuOption);\r
+        gUserInput->InputValue.Type    = QuestionValue->Type;\r
+        gUserInput->InputValue.Value.b = (BOOLEAN)(QuestionValue->Value.b ? FALSE : TRUE);\r
 \r
-        if (SkipErrorValue) {\r
-          //\r
-          // Not report error, just get the correct option string info.\r
-          //\r
-          Link = GetFirstNode (&Question->OptionListHead);\r
-          OneOfOption = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
-        } else {\r
-          //\r
-          // Show error message\r
-          //\r
-          do {\r
-            CreateDialog (&Key, gEmptyString, gOptionMismatch, gPressEnter, gEmptyString, NULL);\r
-          } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
+        //\r
+        // Perform inconsistent check\r
+        //\r
+        return EFI_SUCCESS;\r
+      } else {\r
+        *OptionString = AllocateZeroPool (BufferSize);\r
+        ASSERT (*OptionString);\r
 \r
-          //\r
-          // Force the Question value to be valid\r
-          // Exit current DisplayForm with new value.\r
-          //\r
-          Link = GetFirstNode (&Question->OptionListHead);\r
-          Option = DISPLAY_QUESTION_OPTION_FROM_LINK (Link);\r
+        *OptionString[0] = LEFT_CHECKBOX_DELIMITER;\r
 \r
-          gUserInput->InputValue.Type = Option->OptionOpCode->Type;\r
-          switch (gUserInput->InputValue.Type) {\r
-          case EFI_IFR_TYPE_NUM_SIZE_8:\r
-            gUserInput->InputValue.Value.u8 = Option->OptionOpCode->Value.u8;\r
-            break;\r
-          case EFI_IFR_TYPE_NUM_SIZE_16:\r
-            CopyMem (&gUserInput->InputValue.Value.u16, &Option->OptionOpCode->Value.u16, sizeof (UINT16));\r
-            break;\r
-          case EFI_IFR_TYPE_NUM_SIZE_32:\r
-            CopyMem (&gUserInput->InputValue.Value.u32, &Option->OptionOpCode->Value.u32, sizeof (UINT32));\r
-            break;\r
-          case EFI_IFR_TYPE_NUM_SIZE_64:\r
-            CopyMem (&gUserInput->InputValue.Value.u64, &Option->OptionOpCode->Value.u64, sizeof (UINT64));\r
-            break;\r
-          default:\r
-            ASSERT (FALSE);\r
-            break;\r
-          }\r
-          gUserInput->SelectedStatement = Question;\r
-          gMisMatch = TRUE;\r
-          FreePool (*OptionString);\r
-          *OptionString = NULL;\r
-          return EFI_NOT_FOUND;\r
+        if (QuestionValue->Value.b) {\r
+          *(OptionString[0] + 1) = CHECK_ON;\r
+        } else {\r
+          *(OptionString[0] + 1) = CHECK_OFF;\r
         }\r
-      }\r
 \r
-      Character[0] = LEFT_ONEOF_DELIMITER;\r
-      NewStrCat (OptionString[0], MaxLen, Character);\r
-      StringPtr = GetToken (OneOfOption->OptionOpCode->Option, gFormData->HiiHandle);\r
-      ASSERT (StringPtr != NULL);\r
-      NewStrCat (OptionString[0], MaxLen, StringPtr);\r
-      Character[0] = RIGHT_ONEOF_DELIMITER;\r
-      NewStrCat (OptionString[0], MaxLen, Character);\r
+        *(OptionString[0] + 2) = RIGHT_CHECKBOX_DELIMITER;\r
+      }\r
 \r
-      FreePool (StringPtr);\r
-    }\r
-    break;\r
+      break;\r
 \r
-  case EFI_IFR_CHECKBOX_OP:\r
-    if (Selected) {\r
-      //\r
-      // Since this is a BOOLEAN operation, flip it upon selection\r
-      //\r
-      gUserInput->InputValue.Type    = QuestionValue->Type;\r
-      gUserInput->InputValue.Value.b = (BOOLEAN) (QuestionValue->Value.b ? FALSE : TRUE);\r
+    case EFI_IFR_NUMERIC_OP:\r
+      if (Selected) {\r
+        //\r
+        // Go ask for input\r
+        //\r
+        Status = GetNumericInput (MenuOption);\r
+      } else {\r
+        *OptionString = AllocateZeroPool (BufferSize);\r
+        ASSERT (*OptionString);\r
 \r
-      //\r
-      // Perform inconsistent check\r
-      //\r
-      return EFI_SUCCESS;\r
-    } else {\r
-      *OptionString = AllocateZeroPool (BufferSize);\r
-      ASSERT (*OptionString);\r
+        *OptionString[0] = LEFT_NUMERIC_DELIMITER;\r
 \r
-      *OptionString[0] = LEFT_CHECKBOX_DELIMITER;\r
+        //\r
+        // Formatted print\r
+        //\r
+        PrintFormattedNumber (Question, FormattedNumber, 21 * sizeof (CHAR16));\r
+        Number = (UINT16)GetStringWidth (FormattedNumber);\r
+        CopyMem (OptionString[0] + 1, FormattedNumber, Number);\r
 \r
-      if (QuestionValue->Value.b) {\r
-        *(OptionString[0] + 1) = CHECK_ON;\r
-      } else {\r
-        *(OptionString[0] + 1) = CHECK_OFF;\r
+        *(OptionString[0] + Number / 2) = RIGHT_NUMERIC_DELIMITER;\r
       }\r
-      *(OptionString[0] + 2) = RIGHT_CHECKBOX_DELIMITER;\r
-    }\r
-    break;\r
 \r
-  case EFI_IFR_NUMERIC_OP:\r
-    if (Selected) {\r
-      //\r
-      // Go ask for input\r
-      //\r
-      Status = GetNumericInput (MenuOption);\r
-    } else {\r
-      *OptionString = AllocateZeroPool (BufferSize);\r
-      ASSERT (*OptionString);\r
+      break;\r
 \r
-      *OptionString[0] = LEFT_NUMERIC_DELIMITER;\r
+    case EFI_IFR_DATE_OP:\r
+      if (Selected) {\r
+        //\r
+        // This is similar to numerics\r
+        //\r
+        Status = GetNumericInput (MenuOption);\r
+      } else {\r
+        *OptionString = AllocateZeroPool (BufferSize);\r
+        ASSERT (*OptionString);\r
+\r
+        switch (MenuOption->Sequence) {\r
+          case 0:\r
+            *OptionString[0] = LEFT_NUMERIC_DELIMITER;\r
+            if (QuestionValue->Value.date.Month == 0xff) {\r
+              UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"??");\r
+            } else {\r
+              UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.date.Month);\r
+            }\r
+\r
+            *(OptionString[0] + 3) = DATE_SEPARATOR;\r
+            break;\r
 \r
-      //\r
-      // Formatted print\r
-      //\r
-      PrintFormattedNumber (Question, FormattedNumber, 21 * sizeof (CHAR16));\r
-      Number = (UINT16) GetStringWidth (FormattedNumber);\r
-      CopyMem (OptionString[0] + 1, FormattedNumber, Number);\r
+          case 1:\r
+            SetUnicodeMem (OptionString[0], 4, L' ');\r
+            if (QuestionValue->Value.date.Day == 0xff) {\r
+              UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"??");\r
+            } else {\r
+              UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.date.Day);\r
+            }\r
 \r
-      *(OptionString[0] + Number / 2) = RIGHT_NUMERIC_DELIMITER;\r
-    }\r
-    break;\r
+            *(OptionString[0] + 6) = DATE_SEPARATOR;\r
+            break;\r
 \r
-  case EFI_IFR_DATE_OP:\r
-    if (Selected) {\r
-      //\r
-      // This is similar to numerics\r
-      //\r
-      Status = GetNumericInput (MenuOption);\r
-    } else {\r
-      *OptionString = AllocateZeroPool (BufferSize);\r
-      ASSERT (*OptionString);\r
+          case 2:\r
+            SetUnicodeMem (OptionString[0], 7, L' ');\r
+            if (QuestionValue->Value.date.Year == 0xff) {\r
+              UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"????");\r
+            } else {\r
+              UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"%04d", QuestionValue->Value.date.Year);\r
+            }\r
 \r
-      switch (MenuOption->Sequence) {\r
-      case 0:\r
-        *OptionString[0] = LEFT_NUMERIC_DELIMITER;\r
-        if (QuestionValue->Value.date.Month == 0xff){\r
-          UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"??");\r
-        } else {\r
-          UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.date.Month);\r
+            *(OptionString[0] + 11) = RIGHT_NUMERIC_DELIMITER;\r
+            break;\r
         }\r
-        *(OptionString[0] + 3) = DATE_SEPARATOR;\r
-        break;\r
+      }\r
 \r
-      case 1:\r
-        SetUnicodeMem (OptionString[0], 4, L' ');\r
-        if (QuestionValue->Value.date.Day == 0xff){\r
-          UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"??");\r
-        } else {\r
-          UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.date.Day);\r
-        }\r
-        *(OptionString[0] + 6) = DATE_SEPARATOR;\r
-        break;\r
+      break;\r
 \r
-      case 2:\r
-        SetUnicodeMem (OptionString[0], 7, L' ');\r
-        if (QuestionValue->Value.date.Year == 0xff){\r
-          UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"????");\r
-        } else {\r
-          UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"%04d", QuestionValue->Value.date.Year);\r
-        }\r
-        *(OptionString[0] + 11) = RIGHT_NUMERIC_DELIMITER;\r
-        break;\r
-      }\r
-    }\r
-    break;\r
+    case EFI_IFR_TIME_OP:\r
+      if (Selected) {\r
+        //\r
+        // This is similar to numerics\r
+        //\r
+        Status = GetNumericInput (MenuOption);\r
+      } else {\r
+        *OptionString = AllocateZeroPool (BufferSize);\r
+        ASSERT (*OptionString);\r
+\r
+        switch (MenuOption->Sequence) {\r
+          case 0:\r
+            *OptionString[0] = LEFT_NUMERIC_DELIMITER;\r
+            if (QuestionValue->Value.time.Hour == 0xff) {\r
+              UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"??");\r
+            } else {\r
+              UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.time.Hour);\r
+            }\r
+\r
+            *(OptionString[0] + 3) = TIME_SEPARATOR;\r
+            break;\r
 \r
-  case EFI_IFR_TIME_OP:\r
-    if (Selected) {\r
-      //\r
-      // This is similar to numerics\r
-      //\r
-      Status = GetNumericInput (MenuOption);\r
-    } else {\r
-      *OptionString = AllocateZeroPool (BufferSize);\r
-      ASSERT (*OptionString);\r
+          case 1:\r
+            SetUnicodeMem (OptionString[0], 4, L' ');\r
+            if (QuestionValue->Value.time.Minute == 0xff) {\r
+              UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"??");\r
+            } else {\r
+              UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.time.Minute);\r
+            }\r
 \r
-      switch (MenuOption->Sequence) {\r
-      case 0:\r
-        *OptionString[0] = LEFT_NUMERIC_DELIMITER;\r
-        if (QuestionValue->Value.time.Hour == 0xff){\r
-          UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"??");\r
-        } else {\r
-          UnicodeSPrint (OptionString[0] + 1, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.time.Hour);\r
-        }\r
-        *(OptionString[0] + 3) = TIME_SEPARATOR;\r
-        break;\r
+            *(OptionString[0] + 6) = TIME_SEPARATOR;\r
+            break;\r
 \r
-      case 1:\r
-        SetUnicodeMem (OptionString[0], 4, L' ');\r
-        if (QuestionValue->Value.time.Minute == 0xff){\r
-          UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"??");\r
-        } else {\r
-          UnicodeSPrint (OptionString[0] + 4, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.time.Minute);\r
-        }\r
-        *(OptionString[0] + 6) = TIME_SEPARATOR;\r
-        break;\r
+          case 2:\r
+            SetUnicodeMem (OptionString[0], 7, L' ');\r
+            if (QuestionValue->Value.time.Second == 0xff) {\r
+              UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"??");\r
+            } else {\r
+              UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.time.Second);\r
+            }\r
 \r
-      case 2:\r
-        SetUnicodeMem (OptionString[0], 7, L' ');\r
-        if (QuestionValue->Value.time.Second == 0xff){\r
-          UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"??");\r
-        } else {\r
-          UnicodeSPrint (OptionString[0] + 7, 21 * sizeof (CHAR16), L"%02d", QuestionValue->Value.time.Second);\r
+            *(OptionString[0] + 9) = RIGHT_NUMERIC_DELIMITER;\r
+            break;\r
         }\r
-        *(OptionString[0] + 9) = RIGHT_NUMERIC_DELIMITER;\r
-        break;\r
       }\r
-    }\r
-    break;\r
 \r
-  case EFI_IFR_STRING_OP:\r
-    if (Selected) {\r
-      StringPtr = AllocateZeroPool (Question->CurrentValue.BufferLen + sizeof (CHAR16));\r
-      ASSERT (StringPtr);\r
-      CopyMem(StringPtr, Question->CurrentValue.Buffer, Question->CurrentValue.BufferLen);\r
+      break;\r
 \r
-      Status = ReadString (MenuOption, gPromptForData, StringPtr);\r
-      if (EFI_ERROR (Status)) {\r
-        FreePool (StringPtr);\r
-        return Status;\r
-      }\r
+    case EFI_IFR_STRING_OP:\r
+      if (Selected) {\r
+        StringPtr = AllocateZeroPool (Question->CurrentValue.BufferLen + sizeof (CHAR16));\r
+        ASSERT (StringPtr);\r
+        CopyMem (StringPtr, Question->CurrentValue.Buffer, Question->CurrentValue.BufferLen);\r
 \r
-      gUserInput->InputValue.Buffer = AllocateCopyPool (Question->CurrentValue.BufferLen, StringPtr);\r
-      gUserInput->InputValue.BufferLen = Question->CurrentValue.BufferLen;\r
-      gUserInput->InputValue.Type = Question->CurrentValue.Type;\r
-      gUserInput->InputValue.Value.string = HiiSetString(gFormData->HiiHandle, gUserInput->InputValue.Value.string, StringPtr, NULL);\r
-      FreePool (StringPtr);\r
-      return EFI_SUCCESS;\r
-    } else {\r
-      *OptionString = AllocateZeroPool (BufferSize);\r
-      ASSERT (*OptionString);\r
+        Status = ReadString (MenuOption, gPromptForData, StringPtr);\r
+        if (EFI_ERROR (Status)) {\r
+          FreePool (StringPtr);\r
+          return Status;\r
+        }\r
 \r
-      if (((CHAR16 *) Question->CurrentValue.Buffer)[0] == 0x0000) {\r
-        *(OptionString[0]) = '_';\r
+        gUserInput->InputValue.Buffer       = AllocateCopyPool (Question->CurrentValue.BufferLen, StringPtr);\r
+        gUserInput->InputValue.BufferLen    = Question->CurrentValue.BufferLen;\r
+        gUserInput->InputValue.Type         = Question->CurrentValue.Type;\r
+        gUserInput->InputValue.Value.string = HiiSetString (gFormData->HiiHandle, gUserInput->InputValue.Value.string, StringPtr, NULL);\r
+        FreePool (StringPtr);\r
+        return EFI_SUCCESS;\r
       } else {\r
-        if (Question->CurrentValue.BufferLen < BufferSize) {\r
-          BufferSize = Question->CurrentValue.BufferLen;\r
+        *OptionString = AllocateZeroPool (BufferSize);\r
+        ASSERT (*OptionString);\r
+\r
+        if (((CHAR16 *)Question->CurrentValue.Buffer)[0] == 0x0000) {\r
+          *(OptionString[0]) = '_';\r
+        } else {\r
+          if (Question->CurrentValue.BufferLen < BufferSize) {\r
+            BufferSize = Question->CurrentValue.BufferLen;\r
+          }\r
+\r
+          CopyMem (OptionString[0], (CHAR16 *)Question->CurrentValue.Buffer, BufferSize);\r
         }\r
-        CopyMem (OptionString[0], (CHAR16 *) Question->CurrentValue.Buffer, BufferSize);\r
       }\r
-    }\r
-    break;\r
 \r
-  case EFI_IFR_PASSWORD_OP:\r
-    if (Selected) {\r
-      Status = PasswordProcess (MenuOption);\r
-    }\r
-    break;\r
+      break;\r
+\r
+    case EFI_IFR_PASSWORD_OP:\r
+      if (Selected) {\r
+        Status = PasswordProcess (MenuOption);\r
+      }\r
+\r
+      break;\r
 \r
-  default:\r
-    break;\r
+    default:\r
+      break;\r
   }\r
 \r
   return Status;\r
 }\r
 \r
-\r
 /**\r
   Process the help string: Split StringPtr to several lines of strings stored in\r
   FormattedString and the glyph width of each line cannot exceed gHelpBlockWidth.\r
@@ -1550,17 +1572,17 @@ ProcessHelpString (
   UINT16  MaxStringLen;\r
   UINT16  StringLen;\r
 \r
-  TotalRowNum    = 0;\r
-  CheckedNum     = 0;\r
-  GlyphWidth     = 1;\r
-  Index          = 0;\r
-  MaxStringLen   = 0;\r
-  StringLen      = 0;\r
+  TotalRowNum  = 0;\r
+  CheckedNum   = 0;\r
+  GlyphWidth   = 1;\r
+  Index        = 0;\r
+  MaxStringLen = 0;\r
+  StringLen    = 0;\r
 \r
   //\r
   // Set default help string width.\r
   //\r
-  LineWidth      = (UINT16) (gHelpBlockWidth - 1);\r
+  LineWidth = (UINT16)(gHelpBlockWidth - 1);\r
 \r
   //\r
   // Get row number of the String.\r
@@ -1570,9 +1592,10 @@ ProcessHelpString (
       MaxStringLen = StringLen;\r
     }\r
 \r
-    TotalRowNum ++;\r
+    TotalRowNum++;\r
     FreePool (OutputString);\r
   }\r
+\r
   *EachLineWidth = MaxStringLen;\r
 \r
   *FormattedString = AllocateZeroPool (TotalRowNum * MaxStringLen * sizeof (CHAR16));\r
@@ -1581,11 +1604,11 @@ ProcessHelpString (
   //\r
   // Generate formatted help string array.\r
   //\r
-  GlyphWidth  = 1;\r
-  Index       = 0;\r
-  while((StringLen = GetLineByWidth (StringPtr, LineWidth, &GlyphWidth, &Index, &OutputString)) != 0) {\r
+  GlyphWidth = 1;\r
+  Index      = 0;\r
+  while ((StringLen = GetLineByWidth (StringPtr, LineWidth, &GlyphWidth, &Index, &OutputString)) != 0) {\r
     CopyMem (*FormattedString + CheckedNum * MaxStringLen, OutputString, StringLen * sizeof (CHAR16));\r
-    CheckedNum ++;\r
+    CheckedNum++;\r
     FreePool (OutputString);\r
   }\r
 \r