ShellPkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the ShellPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
c411b485b6
commit
47d20b54f9
@ -14,7 +14,7 @@
|
||||
//
|
||||
// The list is used to cache the environment variables.
|
||||
//
|
||||
ENV_VAR_LIST gShellEnvVarList;
|
||||
ENV_VAR_LIST gShellEnvVarList;
|
||||
|
||||
/**
|
||||
Reports whether an environment variable is Volatile or Non-Volatile.
|
||||
@ -27,8 +27,8 @@ ENV_VAR_LIST gShellEnvVarList;
|
||||
**/
|
||||
EFI_STATUS
|
||||
IsVolatileEnv (
|
||||
IN CONST CHAR16 *EnvVarName,
|
||||
OUT BOOLEAN *Volatile
|
||||
IN CONST CHAR16 *EnvVarName,
|
||||
OUT BOOLEAN *Volatile
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@ -38,29 +38,35 @@ IsVolatileEnv (
|
||||
|
||||
ASSERT (Volatile != NULL);
|
||||
|
||||
Size = 0;
|
||||
Size = 0;
|
||||
Buffer = NULL;
|
||||
|
||||
//
|
||||
// get the variable
|
||||
//
|
||||
Status = gRT->GetVariable((CHAR16*)EnvVarName,
|
||||
&gShellVariableGuid,
|
||||
&Attribs,
|
||||
&Size,
|
||||
Buffer);
|
||||
Status = gRT->GetVariable (
|
||||
(CHAR16 *)EnvVarName,
|
||||
&gShellVariableGuid,
|
||||
&Attribs,
|
||||
&Size,
|
||||
Buffer
|
||||
);
|
||||
if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||
Buffer = AllocateZeroPool(Size);
|
||||
Buffer = AllocateZeroPool (Size);
|
||||
if (Buffer == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
Status = gRT->GetVariable((CHAR16*)EnvVarName,
|
||||
&gShellVariableGuid,
|
||||
&Attribs,
|
||||
&Size,
|
||||
Buffer);
|
||||
FreePool(Buffer);
|
||||
|
||||
Status = gRT->GetVariable (
|
||||
(CHAR16 *)EnvVarName,
|
||||
&gShellVariableGuid,
|
||||
&Attribs,
|
||||
&Size,
|
||||
Buffer
|
||||
);
|
||||
FreePool (Buffer);
|
||||
}
|
||||
|
||||
//
|
||||
// not found means volatile
|
||||
//
|
||||
@ -68,6 +74,7 @@ IsVolatileEnv (
|
||||
*Volatile = TRUE;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
@ -75,7 +82,7 @@ IsVolatileEnv (
|
||||
//
|
||||
// check for the Non Volatile bit
|
||||
//
|
||||
*Volatile = !(BOOLEAN) ((Attribs & EFI_VARIABLE_NON_VOLATILE) == EFI_VARIABLE_NON_VOLATILE);
|
||||
*Volatile = !(BOOLEAN)((Attribs & EFI_VARIABLE_NON_VOLATILE) == EFI_VARIABLE_NON_VOLATILE);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@ -85,30 +92,33 @@ IsVolatileEnv (
|
||||
@param[in] List The pointer to pointer to list.
|
||||
**/
|
||||
VOID
|
||||
FreeEnvironmentVariableList(
|
||||
IN LIST_ENTRY *List
|
||||
FreeEnvironmentVariableList (
|
||||
IN LIST_ENTRY *List
|
||||
)
|
||||
{
|
||||
ENV_VAR_LIST *Node;
|
||||
ENV_VAR_LIST *Node;
|
||||
|
||||
ASSERT (List != NULL);
|
||||
if (List == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
for ( Node = (ENV_VAR_LIST*)GetFirstNode(List)
|
||||
; !IsListEmpty(List)
|
||||
; Node = (ENV_VAR_LIST*)GetFirstNode(List)
|
||||
){
|
||||
ASSERT(Node != NULL);
|
||||
RemoveEntryList(&Node->Link);
|
||||
for ( Node = (ENV_VAR_LIST *)GetFirstNode (List)
|
||||
; !IsListEmpty (List)
|
||||
; Node = (ENV_VAR_LIST *)GetFirstNode (List)
|
||||
)
|
||||
{
|
||||
ASSERT (Node != NULL);
|
||||
RemoveEntryList (&Node->Link);
|
||||
if (Node->Key != NULL) {
|
||||
FreePool(Node->Key);
|
||||
FreePool (Node->Key);
|
||||
}
|
||||
|
||||
if (Node->Val != NULL) {
|
||||
FreePool(Node->Val);
|
||||
FreePool (Node->Val);
|
||||
}
|
||||
FreePool(Node);
|
||||
|
||||
FreePool (Node);
|
||||
}
|
||||
}
|
||||
|
||||
@ -121,18 +131,18 @@ FreeEnvironmentVariableList(
|
||||
@retval EFI_SUCCESS the list was created successfully.
|
||||
**/
|
||||
EFI_STATUS
|
||||
GetEnvironmentVariableList(
|
||||
IN OUT LIST_ENTRY *ListHead
|
||||
GetEnvironmentVariableList (
|
||||
IN OUT LIST_ENTRY *ListHead
|
||||
)
|
||||
{
|
||||
CHAR16 *VariableName;
|
||||
UINTN NameSize;
|
||||
UINTN NameBufferSize;
|
||||
EFI_STATUS Status;
|
||||
EFI_GUID Guid;
|
||||
UINTN ValSize;
|
||||
UINTN ValBufferSize;
|
||||
ENV_VAR_LIST *VarList;
|
||||
CHAR16 *VariableName;
|
||||
UINTN NameSize;
|
||||
UINTN NameBufferSize;
|
||||
EFI_STATUS Status;
|
||||
EFI_GUID Guid;
|
||||
UINTN ValSize;
|
||||
UINTN ValBufferSize;
|
||||
ENV_VAR_LIST *VarList;
|
||||
|
||||
if (ListHead == NULL) {
|
||||
return (EFI_INVALID_PARAMETER);
|
||||
@ -140,34 +150,36 @@ GetEnvironmentVariableList(
|
||||
|
||||
Status = EFI_SUCCESS;
|
||||
|
||||
ValBufferSize = INIT_DATA_BUFFER_SIZE;
|
||||
ValBufferSize = INIT_DATA_BUFFER_SIZE;
|
||||
NameBufferSize = INIT_NAME_BUFFER_SIZE;
|
||||
VariableName = AllocateZeroPool(NameBufferSize);
|
||||
VariableName = AllocateZeroPool (NameBufferSize);
|
||||
if (VariableName == NULL) {
|
||||
return (EFI_OUT_OF_RESOURCES);
|
||||
}
|
||||
|
||||
*VariableName = CHAR_NULL;
|
||||
|
||||
while (!EFI_ERROR(Status)) {
|
||||
while (!EFI_ERROR (Status)) {
|
||||
NameSize = NameBufferSize;
|
||||
Status = gRT->GetNextVariableName(&NameSize, VariableName, &Guid);
|
||||
if (Status == EFI_NOT_FOUND){
|
||||
Status = gRT->GetNextVariableName (&NameSize, VariableName, &Guid);
|
||||
if (Status == EFI_NOT_FOUND) {
|
||||
Status = EFI_SUCCESS;
|
||||
break;
|
||||
} else if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||
NameBufferSize = NameSize > NameBufferSize * 2 ? NameSize : NameBufferSize * 2;
|
||||
SHELL_FREE_NON_NULL(VariableName);
|
||||
VariableName = AllocateZeroPool(NameBufferSize);
|
||||
SHELL_FREE_NON_NULL (VariableName);
|
||||
VariableName = AllocateZeroPool (NameBufferSize);
|
||||
if (VariableName == NULL) {
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
break;
|
||||
}
|
||||
|
||||
NameSize = NameBufferSize;
|
||||
Status = gRT->GetNextVariableName(&NameSize, VariableName, &Guid);
|
||||
Status = gRT->GetNextVariableName (&NameSize, VariableName, &Guid);
|
||||
}
|
||||
|
||||
if (!EFI_ERROR(Status) && CompareGuid(&Guid, &gShellVariableGuid)){
|
||||
VarList = AllocateZeroPool(sizeof(ENV_VAR_LIST));
|
||||
if (!EFI_ERROR (Status) && CompareGuid (&Guid, &gShellVariableGuid)) {
|
||||
VarList = AllocateZeroPool (sizeof (ENV_VAR_LIST));
|
||||
if (VarList == NULL) {
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
} else {
|
||||
@ -177,12 +189,13 @@ GetEnvironmentVariableList(
|
||||
//
|
||||
VarList->Val = AllocateZeroPool (ValSize + sizeof (CHAR16));
|
||||
if (VarList->Val == NULL) {
|
||||
SHELL_FREE_NON_NULL(VarList);
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
break;
|
||||
SHELL_FREE_NON_NULL (VarList);
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
break;
|
||||
}
|
||||
Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES(VariableName, &VarList->Atts, &ValSize, VarList->Val);
|
||||
if (Status == EFI_BUFFER_TOO_SMALL){
|
||||
|
||||
Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES (VariableName, &VarList->Atts, &ValSize, VarList->Val);
|
||||
if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||
ValBufferSize = ValSize > ValBufferSize * 2 ? ValSize : ValBufferSize * 2;
|
||||
SHELL_FREE_NON_NULL (VarList->Val);
|
||||
//
|
||||
@ -190,34 +203,36 @@ GetEnvironmentVariableList(
|
||||
//
|
||||
VarList->Val = AllocateZeroPool (ValBufferSize + sizeof (CHAR16));
|
||||
if (VarList->Val == NULL) {
|
||||
SHELL_FREE_NON_NULL(VarList);
|
||||
SHELL_FREE_NON_NULL (VarList);
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
break;
|
||||
}
|
||||
|
||||
ValSize = ValBufferSize;
|
||||
Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES(VariableName, &VarList->Atts, &ValSize, VarList->Val);
|
||||
Status = SHELL_GET_ENVIRONMENT_VARIABLE_AND_ATTRIBUTES (VariableName, &VarList->Atts, &ValSize, VarList->Val);
|
||||
}
|
||||
if (!EFI_ERROR(Status)) {
|
||||
VarList->Key = AllocateCopyPool(StrSize(VariableName), VariableName);
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
VarList->Key = AllocateCopyPool (StrSize (VariableName), VariableName);
|
||||
if (VarList->Key == NULL) {
|
||||
SHELL_FREE_NON_NULL(VarList->Val);
|
||||
SHELL_FREE_NON_NULL(VarList);
|
||||
SHELL_FREE_NON_NULL (VarList->Val);
|
||||
SHELL_FREE_NON_NULL (VarList);
|
||||
Status = EFI_OUT_OF_RESOURCES;
|
||||
} else {
|
||||
InsertTailList(ListHead, &VarList->Link);
|
||||
InsertTailList (ListHead, &VarList->Link);
|
||||
}
|
||||
} else {
|
||||
SHELL_FREE_NON_NULL(VarList->Val);
|
||||
SHELL_FREE_NON_NULL(VarList);
|
||||
SHELL_FREE_NON_NULL (VarList->Val);
|
||||
SHELL_FREE_NON_NULL (VarList);
|
||||
}
|
||||
} // if (VarList == NULL) ... else ...
|
||||
} // compare guid
|
||||
} // while
|
||||
|
||||
SHELL_FREE_NON_NULL (VariableName);
|
||||
|
||||
if (EFI_ERROR(Status)) {
|
||||
FreeEnvironmentVariableList(ListHead);
|
||||
if (EFI_ERROR (Status)) {
|
||||
FreeEnvironmentVariableList (ListHead);
|
||||
}
|
||||
|
||||
return (Status);
|
||||
@ -236,51 +251,56 @@ GetEnvironmentVariableList(
|
||||
@retval EFI_SUCCESS the list was Set successfully.
|
||||
**/
|
||||
EFI_STATUS
|
||||
SetEnvironmentVariableList(
|
||||
IN LIST_ENTRY *ListHead
|
||||
SetEnvironmentVariableList (
|
||||
IN LIST_ENTRY *ListHead
|
||||
)
|
||||
{
|
||||
ENV_VAR_LIST VarList;
|
||||
ENV_VAR_LIST *Node;
|
||||
EFI_STATUS Status;
|
||||
UINTN Size;
|
||||
ENV_VAR_LIST VarList;
|
||||
ENV_VAR_LIST *Node;
|
||||
EFI_STATUS Status;
|
||||
UINTN Size;
|
||||
|
||||
InitializeListHead(&VarList.Link);
|
||||
InitializeListHead (&VarList.Link);
|
||||
|
||||
//
|
||||
// Delete all the current environment variables
|
||||
//
|
||||
Status = GetEnvironmentVariableList(&VarList.Link);
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
Status = GetEnvironmentVariableList (&VarList.Link);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
for ( Node = (ENV_VAR_LIST*)GetFirstNode(&VarList.Link)
|
||||
; !IsNull(&VarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST*)GetNextNode(&VarList.Link, &Node->Link)
|
||||
){
|
||||
for ( Node = (ENV_VAR_LIST *)GetFirstNode (&VarList.Link)
|
||||
; !IsNull (&VarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST *)GetNextNode (&VarList.Link, &Node->Link)
|
||||
)
|
||||
{
|
||||
if (Node->Key != NULL) {
|
||||
Status = SHELL_DELETE_ENVIRONMENT_VARIABLE(Node->Key);
|
||||
Status = SHELL_DELETE_ENVIRONMENT_VARIABLE (Node->Key);
|
||||
}
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
}
|
||||
|
||||
FreeEnvironmentVariableList(&VarList.Link);
|
||||
FreeEnvironmentVariableList (&VarList.Link);
|
||||
|
||||
//
|
||||
// set all the variables from the list
|
||||
//
|
||||
for ( Node = (ENV_VAR_LIST*)GetFirstNode(ListHead)
|
||||
; !IsNull(ListHead, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST*)GetNextNode(ListHead, &Node->Link)
|
||||
){
|
||||
for ( Node = (ENV_VAR_LIST *)GetFirstNode (ListHead)
|
||||
; !IsNull (ListHead, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST *)GetNextNode (ListHead, &Node->Link)
|
||||
)
|
||||
{
|
||||
Size = StrSize (Node->Val) - sizeof (CHAR16);
|
||||
if (Node->Atts & EFI_VARIABLE_NON_VOLATILE) {
|
||||
Status = SHELL_SET_ENVIRONMENT_VARIABLE_NV(Node->Key, Size, Node->Val);
|
||||
Status = SHELL_SET_ENVIRONMENT_VARIABLE_NV (Node->Key, Size, Node->Val);
|
||||
} else {
|
||||
Status = SHELL_SET_ENVIRONMENT_VARIABLE_V (Node->Key, Size, Node->Val);
|
||||
}
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
}
|
||||
FreeEnvironmentVariableList(ListHead);
|
||||
|
||||
FreeEnvironmentVariableList (ListHead);
|
||||
|
||||
return (Status);
|
||||
}
|
||||
@ -299,8 +319,8 @@ SetEnvironmentVariableList(
|
||||
@sa SetEnvironmentVariableList
|
||||
**/
|
||||
EFI_STATUS
|
||||
SetEnvironmentVariables(
|
||||
IN CONST CHAR16 **Environment
|
||||
SetEnvironmentVariables (
|
||||
IN CONST CHAR16 **Environment
|
||||
)
|
||||
{
|
||||
CONST CHAR16 *CurrentString;
|
||||
@ -318,61 +338,65 @@ SetEnvironmentVariables(
|
||||
// Build a list identical to the ones used for get/set list functions above
|
||||
//
|
||||
for ( CurrentCount = 0
|
||||
;
|
||||
; CurrentCount++
|
||||
){
|
||||
;
|
||||
; CurrentCount++
|
||||
)
|
||||
{
|
||||
CurrentString = Environment[CurrentCount];
|
||||
if (CurrentString == NULL) {
|
||||
break;
|
||||
}
|
||||
ASSERT(StrStr(CurrentString, L"=") != NULL);
|
||||
Node = AllocateZeroPool(sizeof(ENV_VAR_LIST));
|
||||
|
||||
ASSERT (StrStr (CurrentString, L"=") != NULL);
|
||||
Node = AllocateZeroPool (sizeof (ENV_VAR_LIST));
|
||||
if (Node == NULL) {
|
||||
SetEnvironmentVariableList(&VarList->Link);
|
||||
SetEnvironmentVariableList (&VarList->Link);
|
||||
return (EFI_OUT_OF_RESOURCES);
|
||||
}
|
||||
|
||||
Node->Key = AllocateZeroPool((StrStr(CurrentString, L"=") - CurrentString + 1) * sizeof(CHAR16));
|
||||
Node->Key = AllocateZeroPool ((StrStr (CurrentString, L"=") - CurrentString + 1) * sizeof (CHAR16));
|
||||
if (Node->Key == NULL) {
|
||||
SHELL_FREE_NON_NULL(Node);
|
||||
SetEnvironmentVariableList(&VarList->Link);
|
||||
SHELL_FREE_NON_NULL (Node);
|
||||
SetEnvironmentVariableList (&VarList->Link);
|
||||
return (EFI_OUT_OF_RESOURCES);
|
||||
}
|
||||
|
||||
//
|
||||
// Copy the string into the Key, leaving the last character allocated as NULL to terminate
|
||||
//
|
||||
StrnCpyS( Node->Key,
|
||||
StrStr(CurrentString, L"=") - CurrentString + 1,
|
||||
CurrentString,
|
||||
StrStr(CurrentString, L"=") - CurrentString
|
||||
);
|
||||
StrnCpyS (
|
||||
Node->Key,
|
||||
StrStr (CurrentString, L"=") - CurrentString + 1,
|
||||
CurrentString,
|
||||
StrStr (CurrentString, L"=") - CurrentString
|
||||
);
|
||||
|
||||
//
|
||||
// ValueSize = TotalSize - already removed size - size for '=' + size for terminator (the last 2 items cancel each other)
|
||||
//
|
||||
Node->Val = AllocateCopyPool(StrSize(CurrentString) - StrSize(Node->Key), CurrentString + StrLen(Node->Key) + 1);
|
||||
Node->Val = AllocateCopyPool (StrSize (CurrentString) - StrSize (Node->Key), CurrentString + StrLen (Node->Key) + 1);
|
||||
if (Node->Val == NULL) {
|
||||
SHELL_FREE_NON_NULL(Node->Key);
|
||||
SHELL_FREE_NON_NULL(Node);
|
||||
SetEnvironmentVariableList(&VarList->Link);
|
||||
SHELL_FREE_NON_NULL (Node->Key);
|
||||
SHELL_FREE_NON_NULL (Node);
|
||||
SetEnvironmentVariableList (&VarList->Link);
|
||||
return (EFI_OUT_OF_RESOURCES);
|
||||
}
|
||||
|
||||
Node->Atts = EFI_VARIABLE_BOOTSERVICE_ACCESS;
|
||||
|
||||
if (VarList == NULL) {
|
||||
VarList = AllocateZeroPool(sizeof(ENV_VAR_LIST));
|
||||
VarList = AllocateZeroPool (sizeof (ENV_VAR_LIST));
|
||||
if (VarList == NULL) {
|
||||
SHELL_FREE_NON_NULL(Node->Key);
|
||||
SHELL_FREE_NON_NULL(Node->Val);
|
||||
SHELL_FREE_NON_NULL(Node);
|
||||
SHELL_FREE_NON_NULL (Node->Key);
|
||||
SHELL_FREE_NON_NULL (Node->Val);
|
||||
SHELL_FREE_NON_NULL (Node);
|
||||
return (EFI_OUT_OF_RESOURCES);
|
||||
}
|
||||
InitializeListHead(&VarList->Link);
|
||||
}
|
||||
InsertTailList(&VarList->Link, &Node->Link);
|
||||
|
||||
InitializeListHead (&VarList->Link);
|
||||
}
|
||||
|
||||
InsertTailList (&VarList->Link, &Node->Link);
|
||||
} // for loop
|
||||
|
||||
//
|
||||
@ -380,7 +404,7 @@ SetEnvironmentVariables(
|
||||
// this function also frees the memory and deletes all pre-existing
|
||||
// shell-guid based environment variables.
|
||||
//
|
||||
return (SetEnvironmentVariableList(&VarList->Link));
|
||||
return (SetEnvironmentVariableList (&VarList->Link));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -400,28 +424,30 @@ SetEnvironmentVariables(
|
||||
**/
|
||||
EFI_STATUS
|
||||
ShellFindEnvVarInList (
|
||||
IN CONST CHAR16 *Key,
|
||||
OUT CHAR16 **Value,
|
||||
OUT UINTN *ValueSize,
|
||||
OUT UINT32 *Atts OPTIONAL
|
||||
IN CONST CHAR16 *Key,
|
||||
OUT CHAR16 **Value,
|
||||
OUT UINTN *ValueSize,
|
||||
OUT UINT32 *Atts OPTIONAL
|
||||
)
|
||||
{
|
||||
ENV_VAR_LIST *Node;
|
||||
ENV_VAR_LIST *Node;
|
||||
|
||||
if (Key == NULL || Value == NULL || ValueSize == NULL) {
|
||||
if ((Key == NULL) || (Value == NULL) || (ValueSize == NULL)) {
|
||||
return SHELL_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
for ( Node = (ENV_VAR_LIST*)GetFirstNode(&gShellEnvVarList.Link)
|
||||
; !IsNull(&gShellEnvVarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST*)GetNextNode(&gShellEnvVarList.Link, &Node->Link)
|
||||
){
|
||||
if (Node->Key != NULL && StrCmp(Key, Node->Key) == 0) {
|
||||
*Value = AllocateCopyPool(StrSize(Node->Val), Node->Val);
|
||||
*ValueSize = StrSize(Node->Val);
|
||||
for ( Node = (ENV_VAR_LIST *)GetFirstNode (&gShellEnvVarList.Link)
|
||||
; !IsNull (&gShellEnvVarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST *)GetNextNode (&gShellEnvVarList.Link, &Node->Link)
|
||||
)
|
||||
{
|
||||
if ((Node->Key != NULL) && (StrCmp (Key, Node->Key) == 0)) {
|
||||
*Value = AllocateCopyPool (StrSize (Node->Val), Node->Val);
|
||||
*ValueSize = StrSize (Node->Val);
|
||||
if (Atts != NULL) {
|
||||
*Atts = Node->Atts;
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
@ -444,17 +470,17 @@ ShellFindEnvVarInList (
|
||||
**/
|
||||
EFI_STATUS
|
||||
ShellAddEnvVarToList (
|
||||
IN CONST CHAR16 *Key,
|
||||
IN CONST CHAR16 *Value,
|
||||
IN UINTN ValueSize,
|
||||
IN UINT32 Atts
|
||||
IN CONST CHAR16 *Key,
|
||||
IN CONST CHAR16 *Value,
|
||||
IN UINTN ValueSize,
|
||||
IN UINT32 Atts
|
||||
)
|
||||
{
|
||||
ENV_VAR_LIST *Node;
|
||||
CHAR16 *LocalKey;
|
||||
CHAR16 *LocalValue;
|
||||
ENV_VAR_LIST *Node;
|
||||
CHAR16 *LocalKey;
|
||||
CHAR16 *LocalValue;
|
||||
|
||||
if (Key == NULL || Value == NULL || ValueSize == 0) {
|
||||
if ((Key == NULL) || (Value == NULL) || (ValueSize == 0)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
@ -466,14 +492,15 @@ ShellAddEnvVarToList (
|
||||
//
|
||||
// Update the variable value if it exists in gShellEnvVarList.
|
||||
//
|
||||
for ( Node = (ENV_VAR_LIST*)GetFirstNode(&gShellEnvVarList.Link)
|
||||
; !IsNull(&gShellEnvVarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST*)GetNextNode(&gShellEnvVarList.Link, &Node->Link)
|
||||
){
|
||||
if (Node->Key != NULL && StrCmp(Key, Node->Key) == 0) {
|
||||
for ( Node = (ENV_VAR_LIST *)GetFirstNode (&gShellEnvVarList.Link)
|
||||
; !IsNull (&gShellEnvVarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST *)GetNextNode (&gShellEnvVarList.Link, &Node->Link)
|
||||
)
|
||||
{
|
||||
if ((Node->Key != NULL) && (StrCmp (Key, Node->Key) == 0)) {
|
||||
Node->Atts = Atts;
|
||||
SHELL_FREE_NON_NULL(Node->Val);
|
||||
Node->Val = LocalValue;
|
||||
SHELL_FREE_NON_NULL (Node->Val);
|
||||
Node->Val = LocalValue;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
@ -482,21 +509,23 @@ ShellAddEnvVarToList (
|
||||
// If the environment variable key doesn't exist in list just insert
|
||||
// a new node.
|
||||
//
|
||||
LocalKey = AllocateCopyPool (StrSize(Key), Key);
|
||||
LocalKey = AllocateCopyPool (StrSize (Key), Key);
|
||||
if (LocalKey == NULL) {
|
||||
FreePool (LocalValue);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
Node = (ENV_VAR_LIST*)AllocateZeroPool (sizeof(ENV_VAR_LIST));
|
||||
|
||||
Node = (ENV_VAR_LIST *)AllocateZeroPool (sizeof (ENV_VAR_LIST));
|
||||
if (Node == NULL) {
|
||||
FreePool (LocalKey);
|
||||
FreePool (LocalValue);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
Node->Key = LocalKey;
|
||||
Node->Val = LocalValue;
|
||||
|
||||
Node->Key = LocalKey;
|
||||
Node->Val = LocalValue;
|
||||
Node->Atts = Atts;
|
||||
InsertTailList(&gShellEnvVarList.Link, &Node->Link);
|
||||
InsertTailList (&gShellEnvVarList.Link, &Node->Link);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@ -512,24 +541,25 @@ ShellAddEnvVarToList (
|
||||
**/
|
||||
EFI_STATUS
|
||||
ShellRemvoeEnvVarFromList (
|
||||
IN CONST CHAR16 *Key
|
||||
IN CONST CHAR16 *Key
|
||||
)
|
||||
{
|
||||
ENV_VAR_LIST *Node;
|
||||
ENV_VAR_LIST *Node;
|
||||
|
||||
if (Key == NULL) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
for ( Node = (ENV_VAR_LIST*)GetFirstNode(&gShellEnvVarList.Link)
|
||||
; !IsNull(&gShellEnvVarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST*)GetNextNode(&gShellEnvVarList.Link, &Node->Link)
|
||||
){
|
||||
if (Node->Key != NULL && StrCmp(Key, Node->Key) == 0) {
|
||||
SHELL_FREE_NON_NULL(Node->Key);
|
||||
SHELL_FREE_NON_NULL(Node->Val);
|
||||
RemoveEntryList(&Node->Link);
|
||||
SHELL_FREE_NON_NULL(Node);
|
||||
for ( Node = (ENV_VAR_LIST *)GetFirstNode (&gShellEnvVarList.Link)
|
||||
; !IsNull (&gShellEnvVarList.Link, &Node->Link)
|
||||
; Node = (ENV_VAR_LIST *)GetNextNode (&gShellEnvVarList.Link, &Node->Link)
|
||||
)
|
||||
{
|
||||
if ((Node->Key != NULL) && (StrCmp (Key, Node->Key) == 0)) {
|
||||
SHELL_FREE_NON_NULL (Node->Key);
|
||||
SHELL_FREE_NON_NULL (Node->Val);
|
||||
RemoveEntryList (&Node->Link);
|
||||
SHELL_FREE_NON_NULL (Node);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
@ -547,9 +577,9 @@ ShellInitEnvVarList (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
InitializeListHead(&gShellEnvVarList.Link);
|
||||
InitializeListHead (&gShellEnvVarList.Link);
|
||||
Status = GetEnvironmentVariableList (&gShellEnvVarList.Link);
|
||||
|
||||
return Status;
|
||||
@ -565,8 +595,7 @@ ShellFreeEnvVarList (
|
||||
)
|
||||
{
|
||||
FreeEnvironmentVariableList (&gShellEnvVarList.Link);
|
||||
InitializeListHead(&gShellEnvVarList.Link);
|
||||
InitializeListHead (&gShellEnvVarList.Link);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user