Revert "ShellPkg: Add Shell[Get|Set]RawCmdLine to ShellCommandLib"

This reverts commit 0fcf8d4df8.
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 <ruiyu.ni@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Tapan Shah <tapandshah@hpe.com>
This commit is contained in:
Ruiyu Ni 2016-08-23 10:40:42 +08:00
parent 8e16ac3d74
commit a747bc1eec
2 changed files with 0 additions and 68 deletions

View File

@ -670,29 +670,6 @@ ShellFileHandleEof(
IN SHELL_FILE_HANDLE Handle 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 { typedef struct {
LIST_ENTRY Link; LIST_ENTRY Link;
void *Buffer; void *Buffer;

View File

@ -30,7 +30,6 @@ STATIC UINTN mProfileListSize;
STATIC UINTN mFsMaxCount = 0; STATIC UINTN mFsMaxCount = 0;
STATIC UINTN mBlkMaxCount = 0; STATIC UINTN mBlkMaxCount = 0;
STATIC BUFFER_LIST mFileHandleList; STATIC BUFFER_LIST mFileHandleList;
STATIC CHAR16 *mRawCmdLine = NULL;
STATIC CONST CHAR8 Hex[] = { STATIC CONST CHAR8 Hex[] = {
'0', '0',
@ -1869,50 +1868,6 @@ ShellFileHandleEof(
return (RetVal); return (RetVal);
} }
/**
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. Frees any BUFFER_LIST defined type.