From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 175281A1E18 for ; Mon, 22 Aug 2016 19:56:15 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP; 22 Aug 2016 19:56:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,563,1464678000"; d="scan'208";a="1029809725" Received: from ray-dev.ccr.corp.intel.com ([10.239.9.25]) by fmsmga001.fm.intel.com with ESMTP; 22 Aug 2016 19:56:14 -0700 From: Ruiyu Ni To: edk2-devel@lists.01.org Cc: Jaben Carsey Date: Tue, 23 Aug 2016 10:56:08 +0800 Message-Id: <20160823025609.468312-3-ruiyu.ni@intel.com> X-Mailer: git-send-email 2.9.0.windows.1 In-Reply-To: <20160823025609.468312-1-ruiyu.ni@intel.com> References: <20160823025609.468312-1-ruiyu.ni@intel.com> MIME-Version: 1.0 Subject: [PATCH 2/3] Revert "ShellPkg: Add Shell[Get|Set]RawCmdLine to ShellCommandLib" X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Aug 2016 02:56:15 -0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 0fcf8d4df85d861b6e721bd1d8abb449f05e15ed. The above commit causes several regression of "echo" command: 1. Double quotes are not being stripped from the final text. UEFI Shell 2.2 section 3.4.5 chops out the quotes. 2. Output redirection is not working as expected. Text is being redirected, but the ‘> …’ text should not be. 3. Inconsistent special character handling. For example, comments with # seem to be parsed out correctly, but handing of ^ is incorrect. In summary, ‘echo “You are ^#1” > t.txt’ results in the below content in t.txt: “You are ^#1” > t.txt Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Cc: Jaben Carsey --- ShellPkg/Include/Library/ShellCommandLib.h | 23 ----------- .../UefiShellCommandLib/UefiShellCommandLib.c | 45 ---------------------- 2 files changed, 68 deletions(-) diff --git a/ShellPkg/Include/Library/ShellCommandLib.h b/ShellPkg/Include/Library/ShellCommandLib.h index 44eccc4..5c5e241 100644 --- a/ShellPkg/Include/Library/ShellCommandLib.h +++ b/ShellPkg/Include/Library/ShellCommandLib.h @@ -670,29 +670,6 @@ ShellFileHandleEof( IN SHELL_FILE_HANDLE Handle ); -/** - Function to get the original CmdLine string for current command. - - @return A pointer to the buffer of the original command string. - It's the caller's responsibility to free the buffer. -**/ -CHAR16* -EFIAPI -ShellGetRawCmdLine ( - VOID - ); - -/** - Function to store the orgignal command string into mOriginalCmdLine. - - @param[in] CmdLine the command line string to store. -**/ -VOID -EFIAPI -ShellSetRawCmdLine ( - IN CONST CHAR16 *CmdLine - ); - typedef struct { LIST_ENTRY Link; void *Buffer; diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c index 7fe908c..ac77111 100644 --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c @@ -30,7 +30,6 @@ STATIC UINTN mProfileListSize; STATIC UINTN mFsMaxCount = 0; STATIC UINTN mBlkMaxCount = 0; STATIC BUFFER_LIST mFileHandleList; -STATIC CHAR16 *mRawCmdLine = NULL; STATIC CONST CHAR8 Hex[] = { '0', @@ -1870,50 +1869,6 @@ ShellFileHandleEof( } /** - Function to get the original CmdLine string for current command. - - @return A pointer to the buffer of the original command string. - It's the caller's responsibility to free the buffer. -**/ -CHAR16* -EFIAPI -ShellGetRawCmdLine ( - VOID - ) -{ - if (mRawCmdLine == NULL) { - return NULL; - } else { - return AllocateCopyPool(StrSize(mRawCmdLine), mRawCmdLine); - } -} - -/** - Function to store the raw command string. - - The alias and variables have been replaced and spaces are trimmed. - - @param[in] CmdLine the command line string to store. -**/ -VOID -EFIAPI -ShellSetRawCmdLine ( - IN CONST CHAR16 *CmdLine - ) -{ - SHELL_FREE_NON_NULL(mRawCmdLine); - - if (CmdLine != NULL) { - // - // The spaces in the beginning and end are trimmed. - // - ASSERT (*CmdLine != L' '); - ASSERT (CmdLine[StrLen (CmdLine) - 1] != L' '); - mRawCmdLine = AllocateCopyPool (StrSize(CmdLine), CmdLine); - } -} - -/** Frees any BUFFER_LIST defined type. @param[in] List The BUFFER_LIST object to free. -- 2.9.0.windows.1