X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ShellPkg%2FLibrary%2FUefiShellLevel2CommandsLib%2FUefiShellLevel2CommandsLib.c;h=4ac7e67007f8e5b6e432ce5684d2c7c113e93944;hb=db906063a71d8ddd90c2883d57bdea2c305fad6f;hp=6cdbef2937720fb64f82aa1381b7863ab9041285;hpb=41921ad5c35c098a8ba54f8ffde9fa58dfb000f1;p=mirror_edk2.git diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c index 6cdbef2937..4ac7e67007 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c @@ -108,6 +108,8 @@ ShellLevel2CommandsLibConstructor ( ShellCommandRegisterAlias(L"cd ..", L"cd.."); ShellCommandRegisterAlias(L"cd \\", L"cd\\"); ShellCommandRegisterAlias(L"mv", L"ren"); + ShellCommandRegisterAlias(L"mv", L"move"); + ShellCommandRegisterAlias(L"map", L"mount"); // // These are installed in level 2 or 3... // @@ -307,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; +} + +