From: jcarsey Date: Wed, 13 Apr 2011 23:37:50 +0000 (+0000) Subject: change file global variable to function local. X-Git-Tag: edk2-stable201903~14949 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=89e8537acfb80a85b06c58ed783fc709df289856 change file global variable to function local. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11539 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.c b/ShellPkg/Library/UefiShellLib/UefiShellLib.c index ba0395dec2..d4a80e403c 100644 --- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c +++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c @@ -34,8 +34,6 @@ EFI_SHELL_PROTOCOL *mEfiShellProtocol; EFI_SHELL_PARAMETERS_PROTOCOL *mEfiShellParametersProtocol; EFI_HANDLE mEfiShellEnvironment2Handle; FILE_HANDLE_FUNCTION_MAP FileFunctionMap; -CHAR16 *mPostReplaceFormat; -CHAR16 *mPostReplaceFormat2; /** Check if a Unicode character is a hexadecimal character. @@ -177,10 +175,6 @@ ShellLibConstructorWorker ( ) { EFI_STATUS Status; - mPostReplaceFormat = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize)); - ASSERT (mPostReplaceFormat != NULL); - mPostReplaceFormat2 = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize)); - ASSERT (mPostReplaceFormat2 != NULL); // // UEFI 2.0 shell interfaces (used preferentially) @@ -295,8 +289,6 @@ ShellLibConstructor ( mEfiShellParametersProtocol = NULL; mEfiShellInterface = NULL; mEfiShellEnvironment2Handle = NULL; - mPostReplaceFormat = NULL; - mPostReplaceFormat2 = NULL; // // verify that auto initialize is not set false @@ -354,15 +346,6 @@ ShellLibDestructor ( } mEfiShellEnvironment2Handle = NULL; - if (mPostReplaceFormat != NULL) { - FreePool(mPostReplaceFormat); - } - if (mPostReplaceFormat2 != NULL) { - FreePool(mPostReplaceFormat2); - } - mPostReplaceFormat = NULL; - mPostReplaceFormat2 = NULL; - return (EFI_SUCCESS); } @@ -1655,6 +1638,9 @@ ShellFindFilePath ( if (TestPath[StrLen(TestPath)-1] != L'\\') { StrCat(TestPath, L"\\"); } + if (FileName[0] == L'\\') { + FileName++; + } StrCat(TestPath, FileName); if (StrStr(Walker, L";") != NULL) { Walker = StrStr(Walker, L";") + 1; @@ -2614,6 +2600,11 @@ InternalShellPrintWorker( CHAR16 *ResumeLocation; CHAR16 *FormatWalker; UINTN OriginalAttribute; + CHAR16 *mPostReplaceFormat; + CHAR16 *mPostReplaceFormat2; + + mPostReplaceFormat = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize)); + mPostReplaceFormat2 = AllocateZeroPool (PcdGet16 (PcdShellPrintBufferSize)); Status = EFI_SUCCESS; OriginalAttribute = gST->ConOut->Mode->Attribute; @@ -2705,6 +2696,9 @@ InternalShellPrintWorker( } gST->ConOut->SetAttribute(gST->ConOut, OriginalAttribute); + + SHELL_FREE_NON_NULL(mPostReplaceFormat); + SHELL_FREE_NON_NULL(mPostReplaceFormat2); return (Status); }