ShellPkg: Remove redundant quotes in file path string for Shell command parameters.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16122 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Qiu Shumin
2014-09-17 07:58:31 +00:00
committed by shenshushi
parent 3a3395f06b
commit 0960ba17e5
7 changed files with 192 additions and 30 deletions

View File

@ -309,3 +309,42 @@ StrniCmp(
return (NULL);
}
/**
Cleans off all the quotes in the string.
@param[in] OriginalString pointer to the string to be cleaned.
@param[out] CleanString The new string with all quotes removed.
Memory allocated in the function and free
by caller.
@retval EFI_SUCCESS The operation was successful.
**/
EFI_STATUS
EFIAPI
ShellLevel2StripQuotes (
IN CONST CHAR16 *OriginalString,
OUT CHAR16 **CleanString
)
{
CHAR16 *Walker;
if (OriginalString == NULL || CleanString == NULL) {
return EFI_INVALID_PARAMETER;
}
*CleanString = AllocateCopyPool (StrSize (OriginalString), OriginalString);
if (*CleanString == NULL) {
return EFI_OUT_OF_RESOURCES;
}
for (Walker = *CleanString; Walker != NULL && *Walker != CHAR_NULL ; Walker++) {
if (*Walker == L'\"') {
CopyMem(Walker, Walker+1, StrSize(Walker) - sizeof(Walker[0]));
}
}
return EFI_SUCCESS;
}