summaryrefslogtreecommitdiffstats
path: root/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
diff options
context:
space:
mode:
Diffstat (limited to 'ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c')
-rw-r--r--ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c1120
1 files changed, 608 insertions, 512 deletions
diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
index 81923c8ae7..36cf46fb2c 100644
--- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
+++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c
@@ -21,11 +21,11 @@ STATIC UINT64 mExitCode;
STATIC BOOLEAN mExitScript;
STATIC CHAR16 *mProfileList;
STATIC UINTN mProfileListSize;
-STATIC UINTN mFsMaxCount = 0;
+STATIC UINTN mFsMaxCount = 0;
STATIC UINTN mBlkMaxCount = 0;
STATIC BUFFER_LIST mFileHandleList;
-STATIC CONST CHAR8 Hex[] = {
+STATIC CONST CHAR8 Hex[] = {
'0',
'1',
'2',
@@ -45,11 +45,11 @@ STATIC CONST CHAR8 Hex[] = {
};
// global variables required by library class.
-EFI_UNICODE_COLLATION_PROTOCOL *gUnicodeCollation = NULL;
-SHELL_MAP_LIST gShellMapList;
-SHELL_MAP_LIST *gShellCurMapping = NULL;
+EFI_UNICODE_COLLATION_PROTOCOL *gUnicodeCollation = NULL;
+SHELL_MAP_LIST gShellMapList;
+SHELL_MAP_LIST *gShellCurMapping = NULL;
-CONST CHAR16* SupportLevel[] = {
+CONST CHAR16 *SupportLevel[] = {
L"Minimal",
L"Scripting",
L"Basic",
@@ -62,7 +62,7 @@ CONST CHAR16* SupportLevel[] = {
**/
EFI_STATUS
EFIAPI
-CommandInit(
+CommandInit (
VOID
)
{
@@ -75,8 +75,7 @@ CommandInit(
CHAR8 *PlatformLang;
if (gUnicodeCollation == NULL) {
-
- GetEfiGlobalVariable2 (EFI_PLATFORM_LANG_VARIABLE_NAME, (VOID**)&PlatformLang, NULL);
+ GetEfiGlobalVariable2 (EFI_PLATFORM_LANG_VARIABLE_NAME, (VOID **)&PlatformLang, NULL);
Status = gBS->LocateHandleBuffer (
ByProtocol,
@@ -89,6 +88,7 @@ CommandInit(
NumHandles = 0;
Handles = NULL;
}
+
for (Index = 0; Index < NumHandles; Index++) {
//
// Open Unicode Collation Protocol
@@ -96,7 +96,7 @@ CommandInit(
Status = gBS->OpenProtocol (
Handles[Index],
&gEfiUnicodeCollation2ProtocolGuid,
- (VOID **) &Uc,
+ (VOID **)&Uc,
gImageHandle,
NULL,
EFI_OPEN_PROTOCOL_GET_PROTOCOL
@@ -113,6 +113,7 @@ CommandInit(
if (gUnicodeCollation == NULL) {
gUnicodeCollation = Uc;
}
+
if (PlatformLang == NULL) {
break;
}
@@ -133,9 +134,11 @@ CommandInit(
break;
}
}
+
if (Handles != NULL) {
FreePool (Handles);
}
+
if (PlatformLang != NULL) {
FreePool (PlatformLang);
}
@@ -161,18 +164,19 @@ ShellCommandLibConstructor (
IN EFI_SYSTEM_TABLE *SystemTable
)
{
- EFI_STATUS Status;
- InitializeListHead(&gShellMapList.Link);
- InitializeListHead(&mCommandList.Link);
- InitializeListHead(&mAliasList.Link);
- InitializeListHead(&mScriptList.Link);
- InitializeListHead(&mFileHandleList.Link);
+ EFI_STATUS Status;
+
+ InitializeListHead (&gShellMapList.Link);
+ InitializeListHead (&mCommandList.Link);
+ InitializeListHead (&mAliasList.Link);
+ InitializeListHead (&mScriptList.Link);
+ InitializeListHead (&mFileHandleList.Link);
mEchoState = TRUE;
- mExitRequested = FALSE;
- mExitScript = FALSE;
- mProfileListSize = 0;
- mProfileList = NULL;
+ mExitRequested = FALSE;
+ mExitScript = FALSE;
+ mProfileListSize = 0;
+ mProfileList = NULL;
Status = CommandInit ();
if (EFI_ERROR (Status)) {
@@ -189,26 +193,28 @@ ShellCommandLibConstructor (
**/
VOID
FreeFileHandleList (
- IN BUFFER_LIST *List
+ IN BUFFER_LIST *List
)
{
- BUFFER_LIST *BufferListEntry;
+ BUFFER_LIST *BufferListEntry;
- if (List == NULL){
+ if (List == NULL) {
return;
}
+
//
// enumerate through the buffer list and free all memory
//
- for ( BufferListEntry = ( BUFFER_LIST *)GetFirstNode(&List->Link)
- ; !IsListEmpty (&List->Link)
- ; BufferListEntry = (BUFFER_LIST *)GetFirstNode(&List->Link)
- ){
- RemoveEntryList(&BufferListEntry->Link);
- ASSERT(BufferListEntry->Buffer != NULL);
- SHELL_FREE_NON_NULL(((SHELL_COMMAND_FILE_HANDLE*)(BufferListEntry->Buffer))->Path);
- SHELL_FREE_NON_NULL(BufferListEntry->Buffer);
- SHELL_FREE_NON_NULL(BufferListEntry);
+ for ( BufferListEntry = (BUFFER_LIST *)GetFirstNode (&List->Link)
+ ; !IsListEmpty (&List->Link)
+ ; BufferListEntry = (BUFFER_LIST *)GetFirstNode (&List->Link)
+ )
+ {
+ RemoveEntryList (&BufferListEntry->Link);
+ ASSERT (BufferListEntry->Buffer != NULL);
+ SHELL_FREE_NON_NULL (((SHELL_COMMAND_FILE_HANDLE *)(BufferListEntry->Buffer))->Path);
+ SHELL_FREE_NON_NULL (BufferListEntry->Buffer);
+ SHELL_FREE_NON_NULL (BufferListEntry);
}
}
@@ -227,69 +233,76 @@ ShellCommandLibDestructor (
IN EFI_SYSTEM_TABLE *SystemTable
)
{
- SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
- ALIAS_LIST *Node2;
- SCRIPT_FILE_LIST *Node3;
- SHELL_MAP_LIST *MapNode;
+ SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
+ ALIAS_LIST *Node2;
+ SCRIPT_FILE_LIST *Node3;
+ SHELL_MAP_LIST *MapNode;
+
//
// enumerate throught the list and free all the memory
//
while (!IsListEmpty (&mCommandList.Link)) {
- Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode(&mCommandList.Link);
- RemoveEntryList(&Node->Link);
- SHELL_FREE_NON_NULL(Node->CommandString);
- FreePool(Node);
- DEBUG_CODE(Node = NULL;);
+ Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link);
+ RemoveEntryList (&Node->Link);
+ SHELL_FREE_NON_NULL (Node->CommandString);
+ FreePool (Node);
+ DEBUG_CODE (
+ Node = NULL;
+ );
}
//
// enumerate through the alias list and free all memory
//
while (!IsListEmpty (&mAliasList.Link)) {
- Node2 = (ALIAS_LIST *)GetFirstNode(&mAliasList.Link);
- RemoveEntryList(&Node2->Link);
- SHELL_FREE_NON_NULL(Node2->CommandString);
- SHELL_FREE_NON_NULL(Node2->Alias);
- SHELL_FREE_NON_NULL(Node2);
- DEBUG_CODE(Node2 = NULL;);
+ Node2 = (ALIAS_LIST *)GetFirstNode (&mAliasList.Link);
+ RemoveEntryList (&Node2->Link);
+ SHELL_FREE_NON_NULL (Node2->CommandString);
+ SHELL_FREE_NON_NULL (Node2->Alias);
+ SHELL_FREE_NON_NULL (Node2);
+ DEBUG_CODE (
+ Node2 = NULL;
+ );
}
//
// enumerate throught the list and free all the memory
//
while (!IsListEmpty (&mScriptList.Link)) {
- Node3 = (SCRIPT_FILE_LIST *)GetFirstNode(&mScriptList.Link);
- RemoveEntryList(&Node3->Link);
- DeleteScriptFileStruct(Node3->Data);
- FreePool(Node3);
+ Node3 = (SCRIPT_FILE_LIST *)GetFirstNode (&mScriptList.Link);
+ RemoveEntryList (&Node3->Link);
+ DeleteScriptFileStruct (Node3->Data);
+ FreePool (Node3);
}
//
// enumerate throught the mappings list and free all the memory
//
- if (!IsListEmpty(&gShellMapList.Link)) {
- for (MapNode = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)
+ if (!IsListEmpty (&gShellMapList.Link)) {
+ for (MapNode = (SHELL_MAP_LIST *)GetFirstNode (&gShellMapList.Link)
; !IsListEmpty (&gShellMapList.Link)
- ; MapNode = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)
- ){
- ASSERT(MapNode != NULL);
- RemoveEntryList(&MapNode->Link);
- SHELL_FREE_NON_NULL(MapNode->DevicePath);
- SHELL_FREE_NON_NULL(MapNode->MapName);
- SHELL_FREE_NON_NULL(MapNode->CurrentDirectoryPath);
- FreePool(MapNode);
+ ; MapNode = (SHELL_MAP_LIST *)GetFirstNode (&gShellMapList.Link)
+ )
+ {
+ ASSERT (MapNode != NULL);
+ RemoveEntryList (&MapNode->Link);
+ SHELL_FREE_NON_NULL (MapNode->DevicePath);
+ SHELL_FREE_NON_NULL (MapNode->MapName);
+ SHELL_FREE_NON_NULL (MapNode->CurrentDirectoryPath);
+ FreePool (MapNode);
}
}
- if (!IsListEmpty(&mFileHandleList.Link)){
- FreeFileHandleList(&mFileHandleList);
+
+ if (!IsListEmpty (&mFileHandleList.Link)) {
+ FreeFileHandleList (&mFileHandleList);
}
if (mProfileList != NULL) {
- FreePool(mProfileList);
+ FreePool (mProfileList);
}
- gUnicodeCollation = NULL;
- gShellCurMapping = NULL;
+ gUnicodeCollation = NULL;
+ gShellCurMapping = NULL;
return (RETURN_SUCCESS);
}
@@ -304,7 +317,7 @@ ShellCommandLibDestructor (
**/
CONST EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *
ShellCommandFindDynamicCommand (
- IN CONST CHAR16 *CommandString
+ IN CONST CHAR16 *CommandString
)
{
EFI_STATUS Status;
@@ -312,7 +325,7 @@ ShellCommandFindDynamicCommand (
EFI_HANDLE *NextCommand;
EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *DynamicCommand;
- CommandHandleList = GetHandleListByProtocol(&gEfiShellDynamicCommandProtocolGuid);
+ CommandHandleList = GetHandleListByProtocol (&gEfiShellDynamicCommandProtocolGuid);
if (CommandHandleList == NULL) {
//
// not found or out of resources
@@ -321,27 +334,29 @@ ShellCommandFindDynamicCommand (
}
for (NextCommand = CommandHandleList; *NextCommand != NULL; NextCommand++) {
- Status = gBS->HandleProtocol(
- *NextCommand,
- &gEfiShellDynamicCommandProtocolGuid,
- (VOID **)&DynamicCommand
- );
+ Status = gBS->HandleProtocol (
+ *NextCommand,
+ &gEfiShellDynamicCommandProtocolGuid,
+ (VOID **)&DynamicCommand
+ );
- if (EFI_ERROR(Status)) {
+ if (EFI_ERROR (Status)) {
continue;
}
- if (gUnicodeCollation->StriColl(
- gUnicodeCollation,
- (CHAR16*)CommandString,
- (CHAR16*)DynamicCommand->CommandName) == 0
- ){
- FreePool(CommandHandleList);
- return (DynamicCommand);
+ if (gUnicodeCollation->StriColl (
+ gUnicodeCollation,
+ (CHAR16 *)CommandString,
+ (CHAR16 *)DynamicCommand->CommandName
+ ) == 0
+ )
+ {
+ FreePool (CommandHandleList);
+ return (DynamicCommand);
}
}
- FreePool(CommandHandleList);
+ FreePool (CommandHandleList);
return (NULL);
}
@@ -352,10 +367,10 @@ ShellCommandFindDynamicCommand (
**/
BOOLEAN
ShellCommandDynamicCommandExists (
- IN CONST CHAR16 *CommandString
+ IN CONST CHAR16 *CommandString
)
{
- return (BOOLEAN) ((ShellCommandFindDynamicCommand(CommandString) != NULL));
+ return (BOOLEAN)((ShellCommandFindDynamicCommand (CommandString) != NULL));
}
/**
@@ -364,33 +379,37 @@ ShellCommandDynamicCommandExists (
@param[in] CommandString The command string to check for on the list.
**/
BOOLEAN
-ShellCommandIsCommandOnInternalList(
- IN CONST CHAR16 *CommandString
+ShellCommandIsCommandOnInternalList (
+ IN CONST CHAR16 *CommandString
)
{
- SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
+ SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
//
// assert for NULL parameter
//
- ASSERT(CommandString != NULL);
+ ASSERT (CommandString != NULL);
//
// check for the command
//
- for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode(&mCommandList.Link)
- ; !IsNull(&mCommandList.Link, &Node->Link)
- ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode(&mCommandList.Link, &Node->Link)
- ){
- ASSERT(Node->CommandString != NULL);
- if (gUnicodeCollation->StriColl(
- gUnicodeCollation,
- (CHAR16*)CommandString,
- Node->CommandString) == 0
- ){
+ for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link)
+ ; !IsNull (&mCommandList.Link, &Node->Link)
+ ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode (&mCommandList.Link, &Node->Link)
+ )
+ {
+ ASSERT (Node->CommandString != NULL);
+ if (gUnicodeCollation->StriColl (
+ gUnicodeCollation,
+ (CHAR16 *)CommandString,
+ Node->CommandString
+ ) == 0
+ )
+ {
return (TRUE);
}
}
+
return (FALSE);
}
@@ -401,15 +420,15 @@ ShellCommandIsCommandOnInternalList(
**/
BOOLEAN
EFIAPI
-ShellCommandIsCommandOnList(
- IN CONST CHAR16 *CommandString
+ShellCommandIsCommandOnList (
+ IN CONST CHAR16 *CommandString
)
{
- if (ShellCommandIsCommandOnInternalList(CommandString)) {
+ if (ShellCommandIsCommandOnInternalList (CommandString)) {
return TRUE;
}
- return ShellCommandDynamicCommandExists(CommandString);
+ return ShellCommandDynamicCommandExists (CommandString);
}
/**
@@ -420,14 +439,14 @@ ShellCommandIsCommandOnList(
@retval NULL No help text was found.
@return String of help text. Caller required to free.
**/
-CHAR16*
-ShellCommandGetDynamicCommandHelp(
- IN CONST CHAR16 *CommandString
+CHAR16 *
+ShellCommandGetDynamicCommandHelp (
+ IN CONST CHAR16 *CommandString
)
{
EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *DynamicCommand;
- DynamicCommand = (EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *)ShellCommandFindDynamicCommand(CommandString);
+ DynamicCommand = (EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *)ShellCommandFindDynamicCommand (CommandString);
if (DynamicCommand == NULL) {
return (NULL);
}
@@ -435,7 +454,7 @@ ShellCommandGetDynamicCommandHelp(
//
// TODO: how to get proper language?
//
- return DynamicCommand->GetHelp(DynamicCommand, "en");
+ return DynamicCommand->GetHelp (DynamicCommand, "en");
}
/**
@@ -446,34 +465,38 @@ ShellCommandGetDynamicCommandHelp(
@retval NULL No help text was found.
@return String of help text. Caller reuiqred to free.
**/
-CHAR16*
-ShellCommandGetInternalCommandHelp(
- IN CONST CHAR16 *CommandString
+CHAR16 *
+ShellCommandGetInternalCommandHelp (
+ IN CONST CHAR16 *CommandString
)
{
- SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
+ SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
//
// assert for NULL parameter
//
- ASSERT(CommandString != NULL);
+ ASSERT (CommandString != NULL);
//
// check for the command
//
- for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode(&mCommandList.Link)
- ; !IsNull(&mCommandList.Link, &Node->Link)
- ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode(&mCommandList.Link, &Node->Link)
- ){
- ASSERT(Node->CommandString != NULL);
- if (gUnicodeCollation->StriColl(
- gUnicodeCollation,
- (CHAR16*)CommandString,
- Node->CommandString) == 0
- ){
- return (HiiGetString(Node->HiiHandle, Node->ManFormatHelp, NULL));
+ for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link)
+ ; !IsNull (&mCommandList.Link, &Node->Link)
+ ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode (&mCommandList.Link, &Node->Link)
+ )
+ {
+ ASSERT (Node->CommandString != NULL);
+ if (gUnicodeCollation->StriColl (
+ gUnicodeCollation,
+ (CHAR16 *)CommandString,
+ Node->CommandString
+ ) == 0
+ )
+ {
+ return (HiiGetString (Node->HiiHandle, Node->ManFormatHelp, NULL));
}
}
+
return (NULL);
}
@@ -485,23 +508,23 @@ ShellCommandGetInternalCommandHelp(
@retval NULL No help text was found.
@return String of help text.Caller reuiqred to free.
**/
-CHAR16*
+CHAR16 *
EFIAPI
ShellCommandGetCommandHelp (
- IN CONST CHAR16 *CommandString
+ IN CONST CHAR16 *CommandString
)
{
- CHAR16 *HelpStr;
- HelpStr = ShellCommandGetInternalCommandHelp(CommandString);
+ CHAR16 *HelpStr;
+
+ HelpStr = ShellCommandGetInternalCommandHelp (CommandString);
if (HelpStr == NULL) {
- HelpStr = ShellCommandGetDynamicCommandHelp(CommandString);
+ HelpStr = ShellCommandGetDynamicCommandHelp (CommandString);
}
return HelpStr;
}
-
/**
Registers handlers of type SHELL_RUN_COMMAND and
SHELL_GET_MAN_FILENAME for each shell command.
@@ -552,82 +575,85 @@ ShellCommandGetCommandHelp (
RETURN_STATUS
EFIAPI
ShellCommandRegisterCommandName (
- IN CONST CHAR16 *CommandString,
- IN SHELL_RUN_COMMAND CommandHandler,
- IN SHELL_GET_MAN_FILENAME GetManFileName,
- IN UINT32 ShellMinSupportLevel,
- IN CONST CHAR16 *ProfileName,
- IN CONST BOOLEAN CanAffectLE,
- IN CONST EFI_HII_HANDLE HiiHandle,
- IN CONST EFI_STRING_ID ManFormatHelp
+ IN CONST CHAR16 *CommandString,
+ IN SHELL_RUN_COMMAND CommandHandler,
+ IN SHELL_GET_MAN_FILENAME GetManFileName,
+ IN UINT32 ShellMinSupportLevel,
+ IN CONST CHAR16 *ProfileName,
+ IN CONST BOOLEAN CanAffectLE,
+ IN CONST EFI_HII_HANDLE HiiHandle,
+ IN CONST EFI_STRING_ID ManFormatHelp
)
{
- SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
- SHELL_COMMAND_INTERNAL_LIST_ENTRY *Command;
- SHELL_COMMAND_INTERNAL_LIST_ENTRY *PrevCommand;
- INTN LexicalMatchValue;
+ SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
+ SHELL_COMMAND_INTERNAL_LIST_ENTRY *Command;
+ SHELL_COMMAND_INTERNAL_LIST_ENTRY *PrevCommand;
+ INTN LexicalMatchValue;
//
// Initialize local variables.
//
- Command = NULL;
- PrevCommand = NULL;
+ Command = NULL;
+ PrevCommand = NULL;
LexicalMatchValue = 0;
//
// ASSERTs for NULL parameters
//
- ASSERT(CommandString != NULL);
- ASSERT(GetManFileName != NULL);
- ASSERT(CommandHandler != NULL);
- ASSERT(ProfileName != NULL);
+ ASSERT (CommandString != NULL);
+ ASSERT (GetManFileName != NULL);
+ ASSERT (CommandHandler != NULL);
+ ASSERT (ProfileName != NULL);
//
// check for shell support level
//
- if (PcdGet8(PcdShellSupportLevel) < ShellMinSupportLevel) {
+ if (PcdGet8 (PcdShellSupportLevel) < ShellMinSupportLevel) {
return (RETURN_UNSUPPORTED);
}
//
// check for already on the list
//
- if (ShellCommandIsCommandOnList(CommandString)) {
+ if (ShellCommandIsCommandOnList (CommandString)) {
return (RETURN_ALREADY_STARTED);
}
//
// allocate memory for new struct
//
- Node = AllocateZeroPool(sizeof(SHELL_COMMAND_INTERNAL_LIST_ENTRY));
+ Node = AllocateZeroPool (sizeof (SHELL_COMMAND_INTERNAL_LIST_ENTRY));
if (Node == NULL) {
return RETURN_OUT_OF_RESOURCES;
}
- Node->CommandString = AllocateCopyPool(StrSize(CommandString), CommandString);
+
+ Node->CommandString = AllocateCopyPool (StrSize (CommandString), CommandString);
if (Node->CommandString == NULL) {
FreePool (Node);
return RETURN_OUT_OF_RESOURCES;
}
- Node->GetManFileName = GetManFileName;
- Node->CommandHandler = CommandHandler;
- Node->LastError = CanAffectLE;
- Node->HiiHandle = HiiHandle;
- Node->ManFormatHelp = ManFormatHelp;
-
- if ( StrLen(ProfileName)>0
- && ((mProfileList != NULL
- && StrStr(mProfileList, ProfileName) == NULL) || mProfileList == NULL)
- ){
- ASSERT((mProfileList == NULL && mProfileListSize == 0) || (mProfileList != NULL));
+ Node->GetManFileName = GetManFileName;
+ Node->CommandHandler = CommandHandler;
+ Node->LastError = CanAffectLE;
+ Node->HiiHandle = HiiHandle;
+ Node->ManFormatHelp = ManFormatHelp;
+
+ if ( (StrLen (ProfileName) > 0)
+ && (( (mProfileList != NULL)
+ && (StrStr (mProfileList, ProfileName) == NULL)) || (mProfileList == NULL))
+ )
+ {
+ ASSERT ((mProfileList == NULL && mProfileListSize == 0) || (mProfileList != NULL));
if (mProfileList == NULL) {
//
// If this is the first make a leading ';'
//
- StrnCatGrow(&mProfileList, &mProfileListSize, L";", 0);
+ StrnCatGrow (&mProfileList, &mProfileListSize, L";", 0);
}
- StrnCatGrow(&mProfileList, &mProfileListSize, ProfileName, 0);
- StrnCatGrow(&mProfileList, &mProfileListSize, L";", 0);
+
+ StrnCatGrow (&mProfileList, &mProfileListSize, ProfileName, 0);
+ StrnCatGrow (&mProfileList, &mProfileListSize, L";", 0);
}
//
@@ -639,10 +665,10 @@ ShellCommandRegisterCommandName (
// Move a new registered command to its sorted ordered location in the list
//
for (Command = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link),
- PrevCommand = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link)
- ; !IsNull (&mCommandList.Link, &Command->Link)
- ; Command = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode (&mCommandList.Link, &Command->Link)) {
-
+ PrevCommand = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link)
+ ; !IsNull (&mCommandList.Link, &Command->Link)
+ ; Command = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode (&mCommandList.Link, &Command->Link))
+ {
//
// Get Lexical Comparison Value between PrevCommand and Command list entry
//
@@ -656,8 +682,8 @@ ShellCommandRegisterCommandName (
// Swap PrevCommand and Command list entry if PrevCommand list entry
// is alphabetically greater than Command list entry
//
- if (LexicalMatchValue > 0){
- Command = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *) SwapListEntries (&PrevCommand->Link, &Command->Link);
+ if (LexicalMatchValue > 0) {
+ Command = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)SwapListEntries (&PrevCommand->Link, &Command->Link);
} else if (LexicalMatchValue < 0) {
//
// PrevCommand entry is lexically lower than Command entry
@@ -711,9 +737,9 @@ ShellCommandGetProfileList (
RETURN_STATUS
EFIAPI
ShellCommandRunCommandHandler (
- IN CONST CHAR16 *CommandString,
- IN OUT SHELL_STATUS *RetVal,
- IN OUT BOOLEAN *CanAffectLE OPTIONAL
+ IN CONST CHAR16 *CommandString,
+ IN OUT SHELL_STATUS *RetVal,
+ IN OUT BOOLEAN *CanAffectLE OPTIONAL
)
{
SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
@@ -722,29 +748,34 @@ ShellCommandRunCommandHandler (
//
// assert for NULL parameters
//
- ASSERT(CommandString != NULL);
+ ASSERT (CommandString != NULL);
//
// check for the command
//
- for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode(&mCommandList.Link)
- ; !IsNull(&mCommandList.Link, &Node->Link)
- ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode(&mCommandList.Link, &Node->Link)
- ){
- ASSERT(Node->CommandString != NULL);
- if (gUnicodeCollation->StriColl(
- gUnicodeCollation,
- (CHAR16*)CommandString,
- Node->CommandString) == 0
- ){
+ for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link)
+ ; !IsNull (&mCommandList.Link, &Node->Link)
+ ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode (&mCommandList.Link, &Node->Link)
+ )
+ {
+ ASSERT (Node->CommandString != NULL);
+ if (gUnicodeCollation->StriColl (
+ gUnicodeCollation,
+ (CHAR16 *)CommandString,
+ Node->CommandString
+ ) == 0
+ )
+ {
if (CanAffectLE != NULL) {
*CanAffectLE = Node->LastError;
}
+
if (RetVal != NULL) {
- *RetVal = Node->CommandHandler(NULL, gST);
+ *RetVal = Node->CommandHandler (NULL, gST);
} else {
- Node->CommandHandler(NULL, gST);
+ Node->CommandHandler (NULL, gST);
}
+
return (RETURN_SUCCESS);
}
}
@@ -752,13 +783,14 @@ ShellCommandRunCommandHandler (
//
// An internal command was not found, try to find a dynamic command
//
- DynamicCommand = (EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *)ShellCommandFindDynamicCommand(CommandString);
+ DynamicCommand = (EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL *)ShellCommandFindDynamicCommand (CommandString);
if (DynamicCommand != NULL) {
if (RetVal != NULL) {
- *RetVal = DynamicCommand->Handler(DynamicCommand, gST, gEfiShellParametersProtocol, gEfiShellProtocol);
+ *RetVal = DynamicCommand->Handler (DynamicCommand, gST, gEfiShellParametersProtocol, gEfiShellProtocol);
} else {
- DynamicCommand->Handler(DynamicCommand, gST, gEfiShellParametersProtocol, gEfiShellProtocol);
+ DynamicCommand->Handler (DynamicCommand, gST, gEfiShellParametersProtocol, gEfiShellProtocol);
}
+
return (RETURN_SUCCESS);
}
@@ -778,35 +810,39 @@ ShellCommandRunCommandHandler (
@return other the name of the MAN file.
@sa SHELL_GET_MAN_FILENAME
**/
-CONST CHAR16*
+CONST CHAR16 *
EFIAPI
ShellCommandGetManFileNameHandler (
- IN CONST CHAR16 *CommandString
+ IN CONST CHAR16 *CommandString
)
{
- SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
+ SHELL_COMMAND_INTERNAL_LIST_ENTRY *Node;
//
// assert for NULL parameters
//
- ASSERT(CommandString != NULL);
+ ASSERT (CommandString != NULL);
//
// check for the command
//
- for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode(&mCommandList.Link)
- ; !IsNull(&mCommandList.Link, &Node->Link)
- ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode(&mCommandList.Link, &Node->Link)
- ){
- ASSERT(Node->CommandString != NULL);
- if (gUnicodeCollation->StriColl(
- gUnicodeCollation,
- (CHAR16*)CommandString,
- Node->CommandString) == 0
- ){
- return (Node->GetManFileName());
+ for ( Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetFirstNode (&mCommandList.Link)
+ ; !IsNull (&mCommandList.Link, &Node->Link)
+ ; Node = (SHELL_COMMAND_INTERNAL_LIST_ENTRY *)GetNextNode (&mCommandList.Link, &Node->Link)
+ )
+ {
+ ASSERT (Node->CommandString != NULL);
+ if (gUnicodeCollation->StriColl (
+ gUnicodeCollation,
+ (CHAR16 *)CommandString,
+ Node->CommandString
+ ) == 0
+ )
+ {
+ return (Node->GetManFileName ());
}
}
+
return (NULL);
}
@@ -819,16 +855,16 @@ ShellCommandGetManFileNameHandler (
@return a Linked list of all available shell commands.
**/
-CONST COMMAND_LIST*
+CONST COMMAND_LIST *
EFIAPI
ShellCommandGetCommandList (
- IN CONST BOOLEAN Sort
+ IN CONST BOOLEAN Sort
)
{
-// if (!Sort) {
-// return ((COMMAND_LIST*)(&mCommandList));
-// }
- return ((COMMAND_LIST*)(&mCommandList));
+ // if (!Sort) {
+ // return ((COMMAND_LIST*)(&mCommandList));
+ // }
+ return ((COMMAND_LIST *)(&mCommandList));
}
/**
@@ -847,34 +883,36 @@ ShellCommandGetCommandList (
RETURN_STATUS
EFIAPI
ShellCommandRegisterAlias (
- IN CONST CHAR16 *Command,
- IN CONST CHAR16 *Alias
+ IN CONST CHAR16 *Command,
+ IN CONST CHAR16 *Alias
)
{
- ALIAS_LIST *Node;
- ALIAS_LIST *CommandAlias;
- ALIAS_LIST *PrevCommandAlias;
- INTN LexicalMatchValue;
+ ALIAS_LIST *Node;
+ ALIAS_LIST *CommandAlias;
+ ALIAS_LIST *PrevCommandAlias;
+ INTN LexicalMatchValue;
//
// Asserts for NULL
//
- ASSERT(Command != NULL);
- ASSERT(Alias != NULL);
+ ASSERT (Command != NULL);
+ ASSERT (Alias != NULL);
//
// allocate memory for new struct
//
- Node = AllocateZeroPool(sizeof(ALIAS_LIST));
+ Node = AllocateZeroPool (sizeof (ALIAS_LIST));
if (Node == NULL) {
return RETURN_OUT_OF_RESOURCES;
}
- Node->CommandString = AllocateCopyPool(StrSize(Command), Command);
+
+ Node->CommandString = AllocateCopyPool (StrSize (Command), Command);
if (Node->CommandString == NULL) {
FreePool (Node);
return RETURN_OUT_OF_RESOURCES;
}
- Node->Alias = AllocateCopyPool(StrSize(Alias), Alias);
+
+ Node->Alias = AllocateCopyPool (StrSize (Alias), Alias);
if (Node->Alias == NULL) {
FreePool (Node->CommandString);
FreePool (Node);
@@ -887,9 +925,10 @@ ShellCommandRegisterAlias (
// Move a new pre-defined registered alias to its sorted ordered location in the list
//
for ( CommandAlias = (ALIAS_LIST *)GetFirstNode (&mAliasList.Link),
- PrevCommandAlias = (ALIAS_LIST *)GetFirstNode (&mAliasList.Link)
- ; !IsNull (&mAliasList.Link, &CommandAlias->Link)
- ; CommandAlias = (ALIAS_LIST *) GetNextNode (&mAliasList.Link, &CommandAlias->Link) ) {
+ PrevCommandAlias = (ALIAS_LIST *)GetFirstNode (&mAliasList.Link)
+ ; !IsNull (&mAliasList.Link, &CommandAlias->Link)
+ ; CommandAlias = (ALIAS_LIST *)GetNextNode (&mAliasList.Link, &CommandAlias->Link))
+ {
//
// Get Lexical comparison value between PrevCommandAlias and CommandAlias List Entry
//
@@ -904,7 +943,7 @@ ShellCommandRegisterAlias (
// is alphabetically greater than CommandAlias list entry
//
if (LexicalMatchValue > 0) {
- CommandAlias = (ALIAS_LIST *) SwapListEntries (&PrevCommandAlias->Link, &CommandAlias->Link);
+ CommandAlias = (ALIAS_LIST *)SwapListEntries (&PrevCommandAlias->Link, &CommandAlias->Link);
} else if (LexicalMatchValue < 0) {
//
// PrevCommandAlias entry is lexically lower than CommandAlias entry
@@ -923,13 +962,13 @@ ShellCommandRegisterAlias (
@return a Linked list of all requested shell alias'.
**/
-CONST ALIAS_LIST*
+CONST ALIAS_LIST *
EFIAPI
ShellCommandGetInitAliasList (
VOID
)
{
- return (&mAliasList);
+ return (&mAliasList);
}
/**
@@ -942,41 +981,48 @@ ShellCommandGetInitAliasList (
**/
BOOLEAN
EFIAPI
-ShellCommandIsOnAliasList(
- IN CONST CHAR16 *Alias
+ShellCommandIsOnAliasList (
+ IN CONST CHAR16 *Alias
)
{
- ALIAS_LIST *Node;
+ ALIAS_LIST *Node;
//
// assert for NULL parameter
//
- ASSERT(Alias != NULL);
+ ASSERT (Alias != NULL);
//
// check for the Alias
//
- for ( Node = (ALIAS_LIST *)GetFirstNode(&mAliasList.Link)
- ; !IsNull(&mAliasList.Link, &Node->Link)
- ; Node = (ALIAS_LIST *)GetNextNode(&mAliasList.Link, &Node->Link)
- ){
- ASSERT(Node->CommandString != NULL);
- ASSERT(Node->Alias != NULL);
- if (gUnicodeCollation->StriColl(
- gUnicodeCollation,
- (CHAR16*)Alias,
- Node->CommandString) == 0
- ){
+ for ( Node = (ALIAS_LIST *)GetFirstNode (&mAliasList.Link)
+ ; !IsNull (&mAliasList.Link, &Node->Link)
+ ; Node = (ALIAS_LIST *)GetNextNode (&mAliasList.Link, &Node->Link)
+ )
+ {
+ ASSERT (Node->CommandString != NULL);
+ ASSERT (Node->Alias != NULL);
+ if (gUnicodeCollation->StriColl (
+ gUnicodeCollation,
+ (CHAR16 *)Alias,
+ Node->CommandString
+ ) == 0
+ )
+ {
return (TRUE);
}
- if (gUnicodeCollation->StriColl(
- gUnicodeCollation,
- (CHAR16*)Alias,
- Node->Alias) == 0
- ){
+
+ if (gUnicodeCollation->StriColl (
+ gUnicodeCollation,
+ (CHAR16 *)Alias,
+ Node->Alias
+ ) == 0
+ )
+ {
return (TRUE);
}
}
+
return (FALSE);
}
@@ -989,7 +1035,7 @@ ShellCommandIsOnAliasList(
**/
BOOLEAN
EFIAPI
-ShellCommandGetEchoState(
+ShellCommandGetEchoState (
VOID
)
{
@@ -1007,8 +1053,8 @@ ShellCommandGetEchoState(
**/
VOID
EFIAPI
-ShellCommandSetEchoState(
- IN BOOLEAN State
+ShellCommandSetEchoState (
+ IN BOOLEAN State
)
{
mEchoState = State;
@@ -1023,16 +1069,17 @@ ShellCommandSetEchoState(
VOID
EFIAPI
ShellCommandRegisterExit (
- IN BOOLEAN ScriptOnly,
- IN CONST UINT64 ErrorCode
+ IN BOOLEAN ScriptOnly,
+ IN CONST UINT64 ErrorCode
)
{
mExitRequested = (BOOLEAN)(!mExitRequested);
if (mExitRequested) {
- mExitScript = ScriptOnly;
+ mExitScript = ScriptOnly;
} else {
- mExitScript = FALSE;
+ mExitScript = FALSE;
}
+
mExitCode = ErrorCode;
}
@@ -1066,6 +1113,7 @@ ShellCommandGetExitCode (
{
return (mExitCode);
}
+
/**
Retrieve the Exit script indicator.
@@ -1091,37 +1139,42 @@ ShellCommandGetScriptExit (
VOID
EFIAPI
DeleteScriptFileStruct (
- IN SCRIPT_FILE *Script
+ IN SCRIPT_FILE *Script
)
{
- UINT8 LoopVar;
+ UINT8 LoopVar;
if (Script == NULL) {
return;
}
- for (LoopVar = 0 ; LoopVar < Script->Argc ; LoopVar++) {
- SHELL_FREE_NON_NULL(Script->Argv[LoopVar]);
+ for (LoopVar = 0; LoopVar < Script->Argc; LoopVar++) {
+ SHELL_FREE_NON_NULL (Script->Argv[LoopVar]);
}
+
if (Script->Argv != NULL) {
- SHELL_FREE_NON_NULL(Script->Argv);
+ SHELL_FREE_NON_NULL (Script->Argv);
}
+
Script->CurrentCommand = NULL;
while (!IsListEmpty (&Script->CommandList)) {
- Script->CurrentCommand = (SCRIPT_COMMAND_LIST *)GetFirstNode(&Script->CommandList);
+ Script->CurrentCommand = (SCRIPT_COMMAND_LIST *)GetFirstNode (&Script->CommandList);
if (Script->CurrentCommand != NULL) {
- RemoveEntryList(&Script->CurrentCommand->Link);
+ RemoveEntryList (&Script->CurrentCommand->Link);
if (Script->CurrentCommand->Cl != NULL) {
- SHELL_FREE_NON_NULL(Script->CurrentCommand->Cl);
+ SHELL_FREE_NON_NULL (Script->CurrentCommand->Cl);
}
+
if (Script->CurrentCommand->Data != NULL) {
- SHELL_FREE_NON_NULL(Script->CurrentCommand->Data);
+ SHELL_FREE_NON_NULL (Script->CurrentCommand->Data);
}
- SHELL_FREE_NON_NULL(Script->CurrentCommand);
+
+ SHELL_FREE_NON_NULL (Script->CurrentCommand);
}
}
- SHELL_FREE_NON_NULL(Script->ScriptName);
- SHELL_FREE_NON_NULL(Script);
+
+ SHELL_FREE_NON_NULL (Script->ScriptName);
+ SHELL_FREE_NON_NULL (Script);
}
/**
@@ -1130,17 +1183,19 @@ DeleteScriptFileStruct (
@retval NULL A script file is not currently running.
@return A pointer to the current script file object.
**/
-SCRIPT_FILE*
+SCRIPT_FILE *
EFIAPI
ShellCommandGetCurrentScriptFile (
VOID
)
{
- SCRIPT_FILE_LIST *List;
+ SCRIPT_FILE_LIST *List;
+
if (IsListEmpty (&mScriptList.Link)) {
return (NULL);
}
- List = ((SCRIPT_FILE_LIST*)GetFirstNode(&mScriptList.Link));
+
+ List = ((SCRIPT_FILE_LIST *)GetFirstNode (&mScriptList.Link));
return (List->Data);
}
@@ -1155,30 +1210,34 @@ ShellCommandGetCurrentScriptFile (
@return A pointer to the current running script file after this
change. NULL if removing the final script.
**/
-SCRIPT_FILE*
+SCRIPT_FILE *
EFIAPI
ShellCommandSetNewScript (
- IN SCRIPT_FILE *Script OPTIONAL
+ IN SCRIPT_FILE *Script OPTIONAL
)
{
- SCRIPT_FILE_LIST *Node;
+ SCRIPT_FILE_LIST *Node;
+
if (Script == NULL) {
if (IsListEmpty (&mScriptList.Link)) {
return (NULL);
}
- Node = (SCRIPT_FILE_LIST *)GetFirstNode(&mScriptList.Link);
- RemoveEntryList(&Node->Link);
- DeleteScriptFileStruct(Node->Data);
- FreePool(Node);
+
+ Node = (SCRIPT_FILE_LIST *)GetFirstNode (&mScriptList.Link);
+ RemoveEntryList (&Node->Link);
+ DeleteScriptFileStruct (Node->Data);
+ FreePool (Node);
} else {
- Node = AllocateZeroPool(sizeof(SCRIPT_FILE_LIST));
+ Node = AllocateZeroPool (sizeof (SCRIPT_FILE_LIST));
if (Node == NULL) {
return (NULL);
}
+
Node->Data = Script;
- InsertHeadList(&mScriptList.Link, &Node->Link);
+ InsertHeadList (&mScriptList.Link, &Node->Link);
}
- return (ShellCommandGetCurrentScriptFile());
+
+ return (ShellCommandGetCurrentScriptFile ());
}
/**
@@ -1191,23 +1250,25 @@ ShellCommandSetNewScript (
@retval NULL a memory allocation failed.
@return a new map name string
**/
-CHAR16*
+CHAR16 *
EFIAPI
-ShellCommandCreateNewMappingName(
- IN CONST SHELL_MAPPING_TYPE Type
+ShellCommandCreateNewMappingName (
+ IN CONST SHELL_MAPPING_TYPE Type
)
{
CHAR16 *String;
- ASSERT(Type < MappingTypeMax);
+
+ ASSERT (Type < MappingTypeMax);
String = NULL;
- String = AllocateZeroPool(PcdGet8(PcdShellMapNameLength) * sizeof(String[0]));
- UnicodeSPrint(
+ String = AllocateZeroPool (PcdGet8 (PcdShellMapNameLength) * sizeof (String[0]));
+ UnicodeSPrint (
String,
- PcdGet8(PcdShellMapNameLength) * sizeof(String[0]),
- Type == MappingTypeFileSystem?L"FS%d:":L"BLK%d:",
- Type == MappingTypeFileSystem?mFsMaxCount++:mBlkMaxCount++);
+ PcdGet8 (PcdShellMapNameLength) * sizeof (String[0]),
+ Type == MappingTypeFileSystem ? L"FS%d:" : L"BLK%d:",
+ Type == MappingTypeFileSystem ? mFsMaxCount++ : mBlkMaxCount++
+ );
return (String);
}
@@ -1231,11 +1292,11 @@ ShellCommandCreateNewMappingName(
**/
EFI_STATUS
EFIAPI
-ShellCommandAddMapItemAndUpdatePath(
- IN CONST CHAR16 *Name,
- IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
- IN CONST UINT64 Flags,
- IN CONST BOOLEAN Path
+ShellCommandAddMapItemAndUpdatePath (
+ IN CONST CHAR16 *Name,
+ IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath,
+ IN CONST UINT64 Flags,
+ IN CONST BOOLEAN Path
)
{
EFI_STATUS Status;
@@ -1244,56 +1305,61 @@ ShellCommandAddMapItemAndUpdatePath(
CHAR16 *NewPath;
UINTN NewPathSize;
- NewPathSize = 0;
- NewPath = NULL;
+ NewPathSize = 0;
+ NewPath = NULL;
OriginalPath = NULL;
- Status = EFI_SUCCESS;
+ Status = EFI_SUCCESS;
- MapListNode = AllocateZeroPool(sizeof(SHELL_MAP_LIST));
+ MapListNode = AllocateZeroPool (sizeof (SHELL_MAP_LIST));
if (MapListNode == NULL) {
Status = EFI_OUT_OF_RESOURCES;
} else {
- MapListNode->Flags = Flags;
- MapListNode->MapName = AllocateCopyPool(StrSize(Name), Name);
- MapListNode->DevicePath = DuplicateDevicePath(DevicePath);
- if ((MapListNode->MapName == NULL) || (MapListNode->DevicePath == NULL)){
+ MapListNode->Flags = Flags;
+ MapListNode->MapName = AllocateCopyPool (StrSize (Name), Name);
+ MapListNode->DevicePath = DuplicateDevicePath (DevicePath);
+ if ((MapListNode->MapName == NULL) || (MapListNode->DevicePath == NULL)) {
Status = EFI_OUT_OF_RESOURCES;
} else {
- InsertTailList(&gShellMapList.Link, &MapListNode->Link);
+ InsertTailList (&gShellMapList.Link, &MapListNode->Link);
}
}
- if (EFI_ERROR(Status)) {
+
+ if (EFI_ERROR (Status)) {
if (MapListNode != NULL) {
if (MapListNode->DevicePath != NULL) {
- FreePool(MapListNode->DevicePath);
+ FreePool (MapListNode->DevicePath);
}
+
if (MapListNode->MapName != NULL) {
- FreePool(MapListNode->MapName);
+ FreePool (MapListNode->MapName);
}
- FreePool(MapListNode);
+
+ FreePool (MapListNode);
}
} else if (Path) {
//
// Since there was no error and Path was TRUE
// Now add the correct path for that mapping
//
- OriginalPath = gEfiShellProtocol->GetEnv(L"path");
- ASSERT((NewPath == NULL && NewPathSize == 0) || (NewPath != NULL));
+ OriginalPath = gEfiShellProtocol->GetEnv (L"path");
+ ASSERT ((NewPath == NULL && NewPathSize == 0) || (NewPath != NULL));
if (OriginalPath != NULL) {
- StrnCatGrow(&NewPath, &NewPathSize, OriginalPath, 0);
- StrnCatGrow(&NewPath, &NewPathSize, L";", 0);
+ StrnCatGrow (&NewPath, &NewPathSize, OriginalPath, 0);
+ StrnCatGrow (&NewPath, &NewPathSize, L";", 0);
}
- StrnCatGrow(&NewPath, &NewPathSize, Name, 0);
- StrnCatGrow(&NewPath, &NewPathSize, L"\\efi\\tools\\;", 0);
- StrnCatGrow(&NewPath, &NewPathSize, Name, 0);
- StrnCatGrow(&NewPath, &NewPathSize, L"\\efi\\boot\\;", 0);
- StrnCatGrow(&NewPath, &NewPathSize, Name, 0);
- StrnCatGrow(&NewPath, &NewPathSize, L"\\", 0);
-
- Status = gEfiShellProtocol->SetEnv(L"path", NewPath, TRUE);
- ASSERT_EFI_ERROR(Status);
- FreePool(NewPath);
+
+ StrnCatGrow (&NewPath, &NewPathSize, Name, 0);
+ StrnCatGrow (&NewPath, &NewPathSize, L"\\efi\\tools\\;", 0);
+ StrnCatGrow (&NewPath, &NewPathSize, Name, 0);
+ StrnCatGrow (&NewPath, &NewPathSize, L"\\efi\\boot\\;", 0);
+ StrnCatGrow (&NewPath, &NewPathSize, Name, 0);
+ StrnCatGrow (&NewPath, &NewPathSize, L"\\", 0);
+
+ Status = gEfiShellProtocol->SetEnv (L"path", NewPath, TRUE);
+ ASSERT_EFI_ERROR (Status);
+ FreePool (NewPath);
}
+
return (Status);
}
@@ -1316,7 +1382,7 @@ ShellCommandAddMapItemAndUpdatePath(
**/
EFI_STATUS
EFIAPI
-ShellCommandCreateInitialMappingsAndPaths(
+ShellCommandCreateInitialMappingsAndPaths (
VOID
)
{
@@ -1341,110 +1407,115 @@ ShellCommandCreateInitialMappingsAndPaths(
//
// Reset the static members back to zero
//
- mFsMaxCount = 0;
+ mFsMaxCount = 0;
mBlkMaxCount = 0;
- gEfiShellProtocol->SetEnv(L"path", L"", TRUE);
+ gEfiShellProtocol->SetEnv (L"path", L"", TRUE);
//
// First empty out the existing list.
//
- if (!IsListEmpty(&gShellMapList.Link)) {
- for ( MapListNode = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)
- ; !IsListEmpty(&gShellMapList.Link)
- ; MapListNode = (SHELL_MAP_LIST *)GetFirstNode(&gShellMapList.Link)
- ){
- RemoveEntryList(&MapListNode->Link);
- SHELL_FREE_NON_NULL(MapListNode->DevicePath);
- SHELL_FREE_NON_NULL(MapListNode->MapName);
- SHELL_FREE_NON_NULL(MapListNode->CurrentDirectoryPath);
- FreePool(MapListNode);
+ if (!IsListEmpty (&gShellMapList.Link)) {
+ for ( MapListNode = (SHELL_MAP_LIST *)GetFirstNode (&gShellMapList.Link)
+ ; !IsListEmpty (&gShellMapList.Link)
+ ; MapListNode = (SHELL_MAP_LIST *)GetFirstNode (&gShellMapList.Link)
+ )
+ {
+ RemoveEntryList (&MapListNode->Link);
+ SHELL_FREE_NON_NULL (MapListNode->DevicePath);
+ SHELL_FREE_NON_NULL (MapListNode->MapName);
+ SHELL_FREE_NON_NULL (MapListNode->CurrentDirectoryPath);
+ FreePool (MapListNode);
} // for loop
}
//
// Find each handle with Simple File System
//
- HandleList = GetHandleListByProtocol(&gEfiSimpleFileSystemProtocolGuid);
+ HandleList = GetHandleListByProtocol (&gEfiSimpleFileSystemProtocolGuid);
if (HandleList != NULL) {
//
// Do a count of the handles
//
- for (Count = 0 ; HandleList[Count] != NULL ; Count++);
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
+ }
//
// Get all Device Paths
//
- DevicePathList = AllocateZeroPool(sizeof(EFI_DEVICE_PATH_PROTOCOL*) * Count);
+ DevicePathList = AllocateZeroPool (sizeof (EFI_DEVICE_PATH_PROTOCOL *) * Count);
if (DevicePathList == NULL) {
SHELL_FREE_NON_NULL (HandleList);
return EFI_OUT_OF_RESOURCES;
}
- for (Count = 0 ; HandleList[Count] != NULL ; Count++) {
- DevicePathList[Count] = DevicePathFromHandle(HandleList[Count]);
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
+ DevicePathList[Count] = DevicePathFromHandle (HandleList[Count]);
}
//
// Sort all DevicePaths
//
- PerformQuickSort(DevicePathList, Count, sizeof(EFI_DEVICE_PATH_PROTOCOL*), DevicePathCompare);
+ PerformQuickSort (DevicePathList, Count, sizeof (EFI_DEVICE_PATH_PROTOCOL *), DevicePathCompare);
- ShellCommandConsistMappingInitialize(&ConsistMappingTable);
+ ShellCommandConsistMappingInitialize (&ConsistMappingTable);
//
// Assign new Mappings to all...
//
- for (Count = 0 ; HandleList[Count] != NULL ; Count++) {
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
//
// Get default name first
//
- NewDefaultName = ShellCommandCreateNewMappingName(MappingTypeFileSystem);
- ASSERT(NewDefaultName != NULL);
- Status = ShellCommandAddMapItemAndUpdatePath(NewDefaultName, DevicePathList[Count], 0, TRUE);
- ASSERT_EFI_ERROR(Status);
- FreePool(NewDefaultName);
+ NewDefaultName = ShellCommandCreateNewMappingName (MappingTypeFileSystem);
+ ASSERT (NewDefaultName != NULL);
+ Status = ShellCommandAddMapItemAndUpdatePath (NewDefaultName, DevicePathList[Count], 0, TRUE);
+ ASSERT_EFI_ERROR (Status);
+ FreePool (NewDefaultName);
//
// Now do consistent name
//
- NewConsistName = ShellCommandConsistMappingGenMappingName(DevicePathList[Count], ConsistMappingTable);
+ NewConsistName = ShellCommandConsistMappingGenMappingName (DevicePathList[Count], ConsistMappingTable);
if (NewConsistName != NULL) {
- Status = ShellCommandAddMapItemAndUpdatePath(NewConsistName, DevicePathList[Count], 0, FALSE);
- ASSERT_EFI_ERROR(Status);
- FreePool(NewConsistName);
+ Status = ShellCommandAddMapItemAndUpdatePath (NewConsistName, DevicePathList[Count], 0, FALSE);
+ ASSERT_EFI_ERROR (Status);
+ FreePool (NewConsistName);
}
}
- ShellCommandConsistMappingUnInitialize(ConsistMappingTable);
+ ShellCommandConsistMappingUnInitialize (ConsistMappingTable);
- SHELL_FREE_NON_NULL(HandleList);
- SHELL_FREE_NON_NULL(DevicePathList);
+ SHELL_FREE_NON_NULL (HandleList);
+ SHELL_FREE_NON_NULL (DevicePathList);
HandleList = NULL;
//
- //gShellCurMapping point to node of current file system in the gShellMapList. When reset all mappings,
- //all nodes in the gShellMapList will be free. Then gShellCurMapping will be a dangling pointer, So,
- //after created new mappings, we should reset the gShellCurMapping pointer back to node of current file system.
+ // gShellCurMapping point to node of current file system in the gShellMapList. When reset all mappings,
+ // all nodes in the gShellMapList will be free. Then gShellCurMapping will be a dangling pointer, So,
+ // after created new mappings, we should reset the gShellCurMapping pointer back to node of current file system.
//
if (gShellCurMapping != NULL) {
gShellCurMapping = NULL;
- CurDir = gEfiShellProtocol->GetEnv(L"cwd");
+ CurDir = gEfiShellProtocol->GetEnv (L"cwd");
if (CurDir != NULL) {
- MapName = AllocateCopyPool (StrSize(CurDir), CurDir);
+ MapName = AllocateCopyPool (StrSize (CurDir), CurDir);
if (MapName == NULL) {
return EFI_OUT_OF_RESOURCES;
}
+
SplitCurDir = StrStr (MapName, L":");
if (SplitCurDir == NULL) {
SHELL_FREE_NON_NULL (MapName);
return EFI_UNSUPPORTED;
}
+
*(SplitCurDir + 1) = CHAR_NULL;
- MapListItem = ShellCommandFindMapItem (MapName);
+ MapListItem = ShellCommandFindMapItem (MapName);
if (MapListItem != NULL) {
gShellCurMapping = MapListItem;
}
+
SHELL_FREE_NON_NULL (MapName);
}
}
@@ -1455,44 +1526,45 @@ ShellCommandCreateInitialMappingsAndPaths(
//
// Find each handle with Block Io
//
- HandleList = GetHandleListByProtocol(&gEfiBlockIoProtocolGuid);
+ HandleList = GetHandleListByProtocol (&gEfiBlockIoProtocolGuid);
if (HandleList != NULL) {
- for (Count = 0 ; HandleList[Count] != NULL ; Count++);
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
+ }
//
// Get all Device Paths
//
- DevicePathList = AllocateZeroPool(sizeof(EFI_DEVICE_PATH_PROTOCOL*) * Count);
+ DevicePathList = AllocateZeroPool (sizeof (EFI_DEVICE_PATH_PROTOCOL *) * Count);
if (DevicePathList == NULL) {
SHELL_FREE_NON_NULL (HandleList);
return EFI_OUT_OF_RESOURCES;
}
- for (Count = 0 ; HandleList[Count] != NULL ; Count++) {
- DevicePathList[Count] = DevicePathFromHandle(HandleList[Count]);
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
+ DevicePathList[Count] = DevicePathFromHandle (HandleList[Count]);
}
//
// Sort all DevicePaths
//
- PerformQuickSort(DevicePathList, Count, sizeof(EFI_DEVICE_PATH_PROTOCOL*), DevicePathCompare);
+ PerformQuickSort (DevicePathList, Count, sizeof (EFI_DEVICE_PATH_PROTOCOL *), DevicePathCompare);
//
// Assign new Mappings to all...
//
- for (Count = 0 ; HandleList[Count] != NULL ; Count++) {
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
//
// Get default name first
//
- NewDefaultName = ShellCommandCreateNewMappingName(MappingTypeBlockIo);
- ASSERT(NewDefaultName != NULL);
- Status = ShellCommandAddMapItemAndUpdatePath(NewDefaultName, DevicePathList[Count], 0, FALSE);
- ASSERT_EFI_ERROR(Status);
- FreePool(NewDefaultName);
+ NewDefaultName = ShellCommandCreateNewMappingName (MappingTypeBlockIo);
+ ASSERT (NewDefaultName != NULL);
+ Status = ShellCommandAddMapItemAndUpdatePath (NewDefaultName, DevicePathList[Count], 0, FALSE);
+ ASSERT_EFI_ERROR (Status);
+ FreePool (NewDefaultName);
}
- SHELL_FREE_NON_NULL(HandleList);
- SHELL_FREE_NON_NULL(DevicePathList);
+ SHELL_FREE_NON_NULL (HandleList);
+ SHELL_FREE_NON_NULL (DevicePathList);
} else if (Count == (UINTN)-1) {
return (EFI_NOT_FOUND);
}
@@ -1519,8 +1591,8 @@ ShellCommandUpdateMapping (
CHAR16 *NewConsistName;
EFI_DEVICE_PATH_PROTOCOL **ConsistMappingTable;
- HandleList = NULL;
- Status = EFI_SUCCESS;
+ HandleList = NULL;
+ Status = EFI_SUCCESS;
//
// remove mappings that represent removed devices.
@@ -1529,46 +1601,48 @@ ShellCommandUpdateMapping (
//
// Find each handle with Simple File System
//
- HandleList = GetHandleListByProtocol(&gEfiSimpleFileSystemProtocolGuid);
+ HandleList = GetHandleListByProtocol (&gEfiSimpleFileSystemProtocolGuid);
if (HandleList != NULL) {
//
// Do a count of the handles
//
- for (Count = 0 ; HandleList[Count] != NULL ; Count++);
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
+ }
//
// Get all Device Paths
//
- DevicePathList = AllocateZeroPool(sizeof(EFI_DEVICE_PATH_PROTOCOL*) * Count);
+ DevicePathList = AllocateZeroPool (sizeof (EFI_DEVICE_PATH_PROTOCOL *) * Count);
if (DevicePathList == NULL) {
return (EFI_OUT_OF_RESOURCES);
}
- for (Count = 0 ; HandleList[Count] != NULL ; Count++) {
- DevicePathList[Count] = DevicePathFromHandle(HandleList[Count]);
+ for (Count = 0; HandleList[Count] != NULL; Count++) {
+ DevicePathList[Count] = DevicePathFromHandle (HandleList[Count]);
}
//
// Sort all DevicePaths
//
- PerformQuickSort(DevicePathList, Count, sizeof(EFI_DEVICE_PATH_PROTOCOL*), DevicePathCompare);
+ PerformQuickSort (DevicePathList, Count, sizeof (EFI_DEVICE_PATH_PROTOCOL *), DevicePathCompare);
- ShellCommandConsistMappingInitialize(&ConsistMappingTable);
+ ShellCommandConsistMappingInitialize (&ConsistMappingTable);
//
// Assign new Mappings to remainders
//
- for (Count = 0 ; !EFI_ERROR(Status) && HandleList[Count] != NULL && !EFI_ERROR(Status); Count++) {
+ for (Count = 0; !EFI_ERROR (Status) && HandleList[Count] != NULL && !EFI_ERROR (Status); Count++) {
//
// Skip ones that already have
//
- if (gEfiShellProtocol->GetMapFromDevicePath(&DevicePathList[Count]) != NULL) {
+ if (gEfiShellProtocol->GetMapFromDevicePath (&DevicePathList[Count]) != NULL) {
continue;
}
+
//
// Get default name
//
- NewDefaultName = ShellCommandCreateNewMappingName(MappingTypeFileSystem);
+ NewDefaultName = ShellCommandCreateNewMappingName (MappingTypeFileSystem);
if (NewDefaultName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
break;
@@ -1577,29 +1651,31 @@ ShellCommandUpdateMapping (
//
// Call shell protocol SetMap function now...
//
- Status = gEfiShellProtocol->SetMap(DevicePathList[Count], NewDefaultName);
+ Status = gEfiShellProtocol->SetMap (DevicePathList[Count], NewDefaultName);
- if (!EFI_ERROR(Status)) {
+ if (!EFI_ERROR (Status)) {
//
// Now do consistent name
//
- NewConsistName = ShellCommandConsistMappingGenMappingName(DevicePathList[Count], ConsistMappingTable);
+ NewConsistName = ShellCommandConsistMappingGenMappingName (DevicePathList[Count], ConsistMappingTable);
if (NewConsistName != NULL) {
- Status = gEfiShellProtocol->SetMap(DevicePathList[Count], NewConsistName);
- FreePool(NewConsistName);
+ Status = gEfiShellProtocol->SetMap (DevicePathList[Count], NewConsistName);
+ FreePool (NewConsistName);
}
}
- FreePool(NewDefaultName);
+ FreePool (NewDefaultName);
}
- ShellCommandConsistMappingUnInitialize(ConsistMappingTable);
- SHELL_FREE_NON_NULL(HandleList);
- SHELL_FREE_NON_NULL(DevicePathList);
+
+ ShellCommandConsistMappingUnInitialize (ConsistMappingTable);
+ SHELL_FREE_NON_NULL (HandleList);
+ SHELL_FREE_NON_NULL (DevicePathList);
HandleList = NULL;
} else {
Count = (UINTN)-1;
}
+
//
// Do it all over again for gEfiBlockIoProtocolGuid
//
@@ -1614,13 +1690,13 @@ ShellCommandUpdateMapping (
@return a EFI_FILE_PROTOCOL* representing the same file.
**/
-EFI_FILE_PROTOCOL*
+EFI_FILE_PROTOCOL *
EFIAPI
-ConvertShellHandleToEfiFileProtocol(
- IN CONST SHELL_FILE_HANDLE Handle
+ConvertShellHandleToEfiFileProtocol (
+ IN CONST SHELL_FILE_HANDLE Handle
)
{
- return ((EFI_FILE_PROTOCOL*)(Handle));
+ return ((EFI_FILE_PROTOCOL *)(Handle));
}
/**
@@ -1634,35 +1710,39 @@ ConvertShellHandleToEfiFileProtocol(
**/
SHELL_FILE_HANDLE
EFIAPI
-ConvertEfiFileProtocolToShellHandle(
- IN CONST EFI_FILE_PROTOCOL *Handle,
- IN CONST CHAR16 *Path
+ConvertEfiFileProtocolToShellHandle (
+ IN CONST EFI_FILE_PROTOCOL *Handle,
+ IN CONST CHAR16 *Path
)
{
- SHELL_COMMAND_FILE_HANDLE *Buffer;
- BUFFER_LIST *NewNode;
+ SHELL_COMMAND_FILE_HANDLE *Buffer;
+ BUFFER_LIST *NewNode;
if (Path != NULL) {
- Buffer = AllocateZeroPool(sizeof(SHELL_COMMAND_FILE_HANDLE));
+ Buffer = AllocateZeroPool (sizeof (SHELL_COMMAND_FILE_HANDLE));
if (Buffer == NULL) {
return (NULL);
}
- NewNode = AllocateZeroPool(sizeof(BUFFER_LIST));
+
+ NewNode = AllocateZeroPool (sizeof (BUFFER_LIST));
if (NewNode == NULL) {
- SHELL_FREE_NON_NULL(Buffer);
+ SHELL_FREE_NON_NULL (Buffer);
return (NULL);
}
- Buffer->FileHandle = (EFI_FILE_PROTOCOL*)Handle;
- Buffer->Path = StrnCatGrow(&Buffer->Path, NULL, Path, 0);
+
+ Buffer->FileHandle = (EFI_FILE_PROTOCOL *)Handle;
+ Buffer->Path = StrnCatGrow (&Buffer->Path, NULL, Path, 0);
if (Buffer->Path == NULL) {
- SHELL_FREE_NON_NULL(NewNode);
- SHELL_FREE_NON_NULL(Buffer);
+ SHELL_FREE_NON_NULL (NewNode);
+ SHELL_FREE_NON_NULL (Buffer);
return (NULL);
}
- NewNode->Buffer = Buffer;
- InsertHeadList(&mFileHandleList.Link, &NewNode->Link);
+ NewNode->Buffer = Buffer;
+
+ InsertHeadList (&mFileHandleList.Link, &NewNode->Link);
}
+
return ((SHELL_FILE_HANDLE)(Handle));
}
@@ -1673,22 +1753,24 @@ ConvertEfiFileProtocolToShellHandle(
@return A pointer to the path for the file.
**/
-CONST CHAR16*
+CONST CHAR16 *
EFIAPI
-ShellFileHandleGetPath(
- IN CONST SHELL_FILE_HANDLE Handle
+ShellFileHandleGetPath (
+ IN CONST SHELL_FILE_HANDLE Handle
)
{
- BUFFER_LIST *Node;
-
- for (Node = (BUFFER_LIST*)GetFirstNode(&mFileHandleList.Link)
- ; !IsNull(&mFileHandleList.Link, &Node->Link)
- ; Node = (BUFFER_LIST*)GetNextNode(&mFileHandleList.Link, &Node->Link)
- ){
- if ((Node->Buffer) && (((SHELL_COMMAND_FILE_HANDLE *)Node->Buffer)->FileHandle == Handle)){
+ BUFFER_LIST *Node;
+
+ for (Node = (BUFFER_LIST *)GetFirstNode (&mFileHandleList.Link)
+ ; !IsNull (&mFileHandleList.Link, &Node->Link)
+ ; Node = (BUFFER_LIST *)GetNextNode (&mFileHandleList.Link, &Node->Link)
+ )
+ {
+ if ((Node->Buffer) && (((SHELL_COMMAND_FILE_HANDLE *)Node->Buffer)->FileHandle == Handle)) {
return (((SHELL_COMMAND_FILE_HANDLE *)Node->Buffer)->Path);
}
}
+
return (NULL);
}
@@ -1702,24 +1784,26 @@ ShellFileHandleGetPath(
**/
BOOLEAN
EFIAPI
-ShellFileHandleRemove(
- IN CONST SHELL_FILE_HANDLE Handle
+ShellFileHandleRemove (
+ IN CONST SHELL_FILE_HANDLE Handle
)
{
- BUFFER_LIST *Node;
-
- for (Node = (BUFFER_LIST*)GetFirstNode(&mFileHandleList.Link)
- ; !IsNull(&mFileHandleList.Link, &Node->Link)
- ; Node = (BUFFER_LIST*)GetNextNode(&mFileHandleList.Link, &Node->Link)
- ){
- if ((Node->Buffer) && (((SHELL_COMMAND_FILE_HANDLE *)Node->Buffer)->FileHandle == Handle)){
- RemoveEntryList(&Node->Link);
- SHELL_FREE_NON_NULL(((SHELL_COMMAND_FILE_HANDLE *)Node->Buffer)->Path);
- SHELL_FREE_NON_NULL(Node->Buffer);
- SHELL_FREE_NON_NULL(Node);
+ BUFFER_LIST *Node;
+
+ for (Node = (BUFFER_LIST *)GetFirstNode (&mFileHandleList.Link)
+ ; !IsNull (&mFileHandleList.Link, &Node->Link)
+ ; Node = (BUFFER_LIST *)GetNextNode (&mFileHandleList.Link, &Node->Link)
+ )
+ {
+ if ((Node->Buffer) && (((SHELL_COMMAND_FILE_HANDLE *)Node->Buffer)->FileHandle == Handle)) {
+ RemoveEntryList (&Node->Link);
+ SHELL_FREE_NON_NULL (((SHELL_COMMAND_FILE_HANDLE *)Node->Buffer)->Path);
+ SHELL_FREE_NON_NULL (Node->Buffer);
+ SHELL_FREE_NON_NULL (Node);
return (TRUE);
}
}
+
return (FALSE);
}
@@ -1737,22 +1821,22 @@ ShellFileHandleRemove(
**/
BOOLEAN
EFIAPI
-ShellFileHandleEof(
- IN SHELL_FILE_HANDLE Handle
+ShellFileHandleEof (
+ IN SHELL_FILE_HANDLE Handle
)
{
- EFI_FILE_INFO *Info;
- UINT64 Pos;
- BOOLEAN RetVal;
+ EFI_FILE_INFO *Info;
+ UINT64 Pos;
+ BOOLEAN RetVal;
//
// ASSERT if Handle is NULL
//
- ASSERT(Handle != NULL);
+ ASSERT (Handle != NULL);
- gEfiShellProtocol->GetFilePosition(Handle, &Pos);
+ gEfiShellProtocol->GetFilePosition (Handle, &Pos);
Info = gEfiShellProtocol->GetFileInfo (Handle);
- gEfiShellProtocol->SetFilePosition(Handle, Pos);
+ gEfiShellProtocol->SetFilePosition (Handle, Pos);
if (Info == NULL) {
return (FALSE);
@@ -1777,26 +1861,29 @@ ShellFileHandleEof(
VOID
EFIAPI
FreeBufferList (
- IN BUFFER_LIST *List
+ IN BUFFER_LIST *List
)
{
- BUFFER_LIST *BufferListEntry;
+ BUFFER_LIST *BufferListEntry;
- if (List == NULL){
+ if (List == NULL) {
return;
}
+
//
// enumerate through the buffer list and free all memory
//
- for ( BufferListEntry = ( BUFFER_LIST *)GetFirstNode(&List->Link)
- ; !IsListEmpty (&List->Link)
- ; BufferListEntry = (BUFFER_LIST *)GetFirstNode(&List->Link)
- ){
- RemoveEntryList(&BufferListEntry->Link);
+ for ( BufferListEntry = (BUFFER_LIST *)GetFirstNode (&List->Link)
+ ; !IsListEmpty (&List->Link)
+ ; BufferListEntry = (BUFFER_LIST *)GetFirstNode (&List->Link)
+ )
+ {
+ RemoveEntryList (&BufferListEntry->Link);
if (BufferListEntry->Buffer != NULL) {
- FreePool(BufferListEntry->Buffer);
+ FreePool (BufferListEntry->Buffer);
}
- FreePool(BufferListEntry);
+
+ FreePool (BufferListEntry);
}
}
@@ -1811,21 +1898,21 @@ FreeBufferList (
VOID
EFIAPI
DumpHex (
- IN UINTN Indent,
- IN UINTN Offset,
- IN UINTN DataSize,
- IN VOID *UserData
+ IN UINTN Indent,
+ IN UINTN Offset,
+ IN UINTN DataSize,
+ IN VOID *UserData
)
{
- UINT8 *Data;
+ UINT8 *Data;
- CHAR8 Val[50];
+ CHAR8 Val[50];
- CHAR8 Str[20];
+ CHAR8 Str[20];
- UINT8 TempByte;
- UINTN Size;
- UINTN Index;
+ UINT8 TempByte;
+ UINTN Size;
+ UINTN Index;
Data = UserData;
while (DataSize != 0) {
@@ -1835,19 +1922,19 @@ DumpHex (
}
for (Index = 0; Index < Size; Index += 1) {
- TempByte = Data[Index];
- Val[Index * 3 + 0] = Hex[TempByte >> 4];
- Val[Index * 3 + 1] = Hex[TempByte & 0xF];
- Val[Index * 3 + 2] = (CHAR8) ((Index == 7) ? '-' : ' ');
- Str[Index] = (CHAR8) ((TempByte < ' ' || TempByte > '~') ? '.' : TempByte);
+ TempByte = Data[Index];
+ Val[Index * 3 + 0] = Hex[TempByte >> 4];
+ Val[Index * 3 + 1] = Hex[TempByte & 0xF];
+ Val[Index * 3 + 2] = (CHAR8)((Index == 7) ? '-' : ' ');
+ Str[Index] = (CHAR8)((TempByte < ' ' || TempByte > '~') ? '.' : TempByte);
}
- Val[Index * 3] = 0;
- Str[Index] = 0;
- ShellPrintEx(-1, -1, L"%*a%08X: %-48a *%a*\r\n", Indent, "", Offset, Val, Str);
+ Val[Index * 3] = 0;
+ Str[Index] = 0;
+ ShellPrintEx (-1, -1, L"%*a%08X: %-48a *%a*\r\n", Indent, "", Offset, Val, Str);
- Data += Size;
- Offset += Size;
+ Data += Size;
+ Offset += Size;
DataSize -= Size;
}
}
@@ -1861,7 +1948,7 @@ DumpHex (
@param[in] DataSize The size in bytes of UserData.
@param[in] UserData The data to print out.
**/
-CHAR16*
+CHAR16 *
EFIAPI
CatSDumpHex (
IN CHAR16 *Buffer,
@@ -1880,7 +1967,7 @@ CatSDumpHex (
CHAR16 *RetVal;
CHAR16 *TempRetVal;
- Data = UserData;
+ Data = UserData;
RetVal = Buffer;
while (DataSize != 0) {
Size = 16;
@@ -1889,21 +1976,21 @@ CatSDumpHex (
}
for (Index = 0; Index < Size; Index += 1) {
- TempByte = Data[Index];
- Val[Index * 3 + 0] = Hex[TempByte >> 4];
- Val[Index * 3 + 1] = Hex[TempByte & 0xF];
- Val[Index * 3 + 2] = (CHAR8) ((Index == 7) ? '-' : ' ');
- Str[Index] = (CHAR8) ((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte);
+ TempByte = Data[Index];
+ Val[Index * 3 + 0] = Hex[TempByte >> 4];
+ Val[Index * 3 + 1] = Hex[TempByte & 0xF];
+ Val[Index * 3 + 2] = (CHAR8)((Index == 7) ? '-' : ' ');
+ Str[Index] = (CHAR8)((TempByte < ' ' || TempByte > 'z') ? '.' : TempByte);
}
- Val[Index * 3] = 0;
- Str[Index] = 0;
- TempRetVal = CatSPrint (RetVal, L"%*a%08X: %-48a *%a*\r\n", Indent, "", Offset, Val, Str);
+ Val[Index * 3] = 0;
+ Str[Index] = 0;
+ TempRetVal = CatSPrint (RetVal, L"%*a%08X: %-48a *%a*\r\n", Indent, "", Offset, Val, Str);
SHELL_FREE_NON_NULL (RetVal);
RetVal = TempRetVal;
- Data += Size;
- Offset += Size;
+ Data += Size;
+ Offset += Size;
DataSize -= Size;
}
@@ -1929,12 +2016,12 @@ STATIC
INTN
EFIAPI
UniqueNameCompare (
- IN CONST VOID *Unique1AsVoid,
- IN CONST VOID *Unique2AsVoid
+ IN CONST VOID *Unique1AsVoid,
+ IN CONST VOID *Unique2AsVoid
)
{
- CONST SHELL_SORT_UNIQUE_NAME *Unique1;
- CONST SHELL_SORT_UNIQUE_NAME *Unique2;
+ CONST SHELL_SORT_UNIQUE_NAME *Unique1;
+ CONST SHELL_SORT_UNIQUE_NAME *Unique2;
Unique1 = Unique1AsVoid;
Unique2 = Unique2AsVoid;
@@ -1968,12 +2055,12 @@ STATIC
INTN
EFIAPI
UniqueNameAliasCompare (
- IN CONST VOID *UniqueAliasAsVoid,
- IN CONST VOID *UniqueAsVoid
+ IN CONST VOID *UniqueAliasAsVoid,
+ IN CONST VOID *UniqueAsVoid
)
{
- CONST CHAR16 *UniqueAlias;
- CONST SHELL_SORT_UNIQUE_NAME *Unique;
+ CONST CHAR16 *UniqueAlias;
+ CONST SHELL_SORT_UNIQUE_NAME *Unique;
UniqueAlias = UniqueAliasAsVoid;
Unique = UniqueAsVoid;
@@ -2047,24 +2134,24 @@ UniqueNameAliasCompare (
EFI_STATUS
EFIAPI
ShellSortFileList (
- IN OUT EFI_SHELL_FILE_INFO **FileList,
- OUT EFI_SHELL_FILE_INFO **Duplicates OPTIONAL,
- IN SHELL_SORT_FILE_LIST Order
+ IN OUT EFI_SHELL_FILE_INFO **FileList,
+ OUT EFI_SHELL_FILE_INFO **Duplicates OPTIONAL,
+ IN SHELL_SORT_FILE_LIST Order
)
{
- LIST_ENTRY *FilesHead;
- ORDERED_COLLECTION *Sort;
- LIST_ENTRY *FileEntry;
- EFI_SHELL_FILE_INFO *FileInfo;
- SHELL_SORT_UNIQUE_NAME *Unique;
- EFI_STATUS Status;
- EFI_SHELL_FILE_INFO *Dupes;
- LIST_ENTRY *NextFileEntry;
- CONST CHAR16 *Alias;
- ORDERED_COLLECTION_ENTRY *SortEntry;
- LIST_ENTRY *TargetFileList;
- ORDERED_COLLECTION_ENTRY *NextSortEntry;
- VOID *UniqueAsVoid;
+ LIST_ENTRY *FilesHead;
+ ORDERED_COLLECTION *Sort;
+ LIST_ENTRY *FileEntry;
+ EFI_SHELL_FILE_INFO *FileInfo;
+ SHELL_SORT_UNIQUE_NAME *Unique;
+ EFI_STATUS Status;
+ EFI_SHELL_FILE_INFO *Dupes;
+ LIST_ENTRY *NextFileEntry;
+ CONST CHAR16 *Alias;
+ ORDERED_COLLECTION_ENTRY *SortEntry;
+ LIST_ENTRY *TargetFileList;
+ ORDERED_COLLECTION_ENTRY *NextSortEntry;
+ VOID *UniqueAsVoid;
if ((UINTN)Order >= (UINTN)ShellSortFileListMax) {
return EFI_INVALID_PARAMETER;
@@ -2077,12 +2164,14 @@ ShellSortFileList (
if (Duplicates != NULL) {
*Duplicates = NULL;
}
+
return EFI_SUCCESS;
}
if (*FileList == NULL) {
return EFI_INVALID_PARAMETER;
}
+
FilesHead = &(*FileList)->Link;
//
@@ -2104,6 +2193,7 @@ ShellSortFileList (
Status = EFI_OUT_OF_RESOURCES;
goto UninitSort;
}
+
Unique->Alias = ((Order == ShellSortFileListByFileName) ?
FileInfo->FileName :
FileInfo->FullName);
@@ -2124,6 +2214,7 @@ ShellSortFileList (
if (Status == EFI_OUT_OF_RESOURCES) {
goto UninitSort;
}
+
ASSERT (Status == EFI_ALREADY_STARTED);
}
}
@@ -2143,6 +2234,7 @@ ShellSortFileList (
Status = EFI_OUT_OF_RESOURCES;
goto UninitSort;
}
+
InitializeListHead (&Dupes->Link);
}
@@ -2176,7 +2268,8 @@ ShellSortFileList (
//
for (SortEntry = OrderedCollectionMin (Sort);
SortEntry != NULL;
- SortEntry = OrderedCollectionNext (SortEntry)) {
+ SortEntry = OrderedCollectionNext (SortEntry))
+ {
Unique = OrderedCollectionUserStruct (SortEntry);
//
// The first FileInfo encountered for each unique name goes back on
@@ -2207,6 +2300,7 @@ ShellSortFileList (
*Duplicates = Dupes;
}
}
+
Status = EFI_SUCCESS;
//
@@ -2215,13 +2309,15 @@ ShellSortFileList (
UninitSort:
for (SortEntry = OrderedCollectionMin (Sort);
SortEntry != NULL;
- SortEntry = NextSortEntry) {
+ SortEntry = NextSortEntry)
+ {
NextSortEntry = OrderedCollectionNext (SortEntry);
OrderedCollectionDelete (Sort, SortEntry, &UniqueAsVoid);
Unique = UniqueAsVoid;
ASSERT (IsListEmpty (&Unique->SameNameList));
FreePool (Unique);
}
+
OrderedCollectionUninit (Sort);
return Status;