}\r
}\r
\r
+STATIC\r
VOID\r
UpdateDateAndTime (\r
VOID\r
UINTN Start;\r
UINTN Top;\r
UINTN Index;\r
- EFI_STATUS Status;\r
BOOLEAN SelectionComplete;\r
UINTN InputOffset;\r
UINTN CurrentAttribute;\r
// Take the first key typed and report it back?\r
//\r
if (HotKey) {\r
- Status = WaitForKeyStroke (&Key);\r
+ WaitForKeyStroke (&Key);\r
CopyMem (KeyValue, &Key, sizeof (EFI_INPUT_KEY));\r
\r
} else {\r
do {\r
- Status = WaitForKeyStroke (&Key);\r
+ WaitForKeyStroke (&Key);\r
\r
switch (Key.UnicodeChar) {\r
case CHAR_NULL:\r
gScreenDimensions.BottomRow - 1,\r
NvUpdateMessage\r
);\r
- gResetRequired = (BOOLEAN) (gResetRequired | (Flags & RESET_REQUIRED));\r
+ gResetRequired = (BOOLEAN) (gResetRequired | ((Flags & EFI_IFR_FLAG_RESET_REQUIRED) == EFI_IFR_FLAG_RESET_REQUIRED));\r
\r
gNvUpdateRequired = TRUE;\r
} else {\r
return ;\r
}\r
\r
+STATIC\r
BOOLEAN\r
SelectionsAreValid (\r
IN UI_MENU_OPTION *MenuOption,\r
EFI_FILE_FORM_TAGS *FileFormTags;\r
CHAR16 *StringPtr;\r
CHAR16 NullCharacter;\r
- EFI_STATUS Status;\r
UINTN Index;\r
UINT16 *NvRamMap;\r
STRING_REF PopUp;\r
CreatePopUp (GetStringWidth (StringPtr) / 2, 3, &NullCharacter, StringPtr, &NullCharacter);\r
\r
do {\r
- Status = WaitForKeyStroke (&Key);\r
+ WaitForKeyStroke (&Key);\r
\r
switch (Key.UnicodeChar) {\r
\r
// Ensure we have got a valid buffer\r
//\r
if (*OutputString != NULL) {\r
+ \r
+ //\r
+ //NARROW_CHAR can not be printed in screen, so if a line only contain the two CHARs: 'NARROW_CHAR + CHAR_CARRIAGE_RETURN' , it is a empty line in Screen.\r
+ //To avoid displaying this empty line in screen, just skip the two CHARs here.\r
+ //\r
+ if ((InputString[*Index] == NARROW_CHAR) && (InputString[*Index + 1] == CHAR_CARRIAGE_RETURN)) {\r
+ *Index = *Index + 2;\r
+ } \r
+\r
//\r
// Fast-forward the string and see if there is a carriage-return in the string\r
//\r
}\r
}\r
\r
+STATIC\r
VOID\r
UpdateOptionSkipLines (\r
IN EFI_IFR_DATA_ARRAY *PageData,\r
UI_MENU_OPTION *PreviousMenuOption;\r
EFI_IFR_BINARY *IfrBinary;\r
UI_CONTROL_FLAG ControlFlag;\r
- EFI_SCREEN_DESCRIPTOR LocalScreen;\r
+ EFI_SCREEN_DESCRIPTOR LocalScreen;\r
EFI_FILE_FORM_TAGS *FileFormTags;\r
MENU_REFRESH_ENTRY *MenuRefreshEntry;\r
MENU_REFRESH_ENTRY *OldMenuRefreshEntry;\r
FileFormTags->VariableDefinitions->VariableFakeSize = (UINT16) (FileFormTags->VariableDefinitions->VariableFakeSize + FileFormTags->VariableDefinitions->VariableSize);\r
\r
FileFormTags->VariableDefinitions->NvRamMap = AllocateZeroPool (FileFormTags->VariableDefinitions->VariableSize);\r
+ ASSERT (FileFormTags->VariableDefinitions->NvRamMap != NULL);\r
+\r
FileFormTags->VariableDefinitions->FakeNvRamMap = AllocateZeroPool (NvMapSize + FileFormTags->VariableDefinitions->VariableFakeSize);\r
+ ASSERT (FileFormTags->VariableDefinitions->FakeNvRamMap != NULL);\r
\r
CopyMem (FileFormTags->VariableDefinitions->NvRamMap, NvMap, NvMapSize);\r
gBS->FreePool (NvMapListHead);\r