From: jcarsey Date: Wed, 13 Apr 2011 23:35:59 +0000 (+0000) Subject: move a function to the correct library. X-Git-Tag: edk2-stable201903~14951 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=a49016b117dceddc8b44fe3e5e4e3623cee133e5 move a function to the correct library. added "ren" as an alias for "mv" git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11537 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c index 9e7cd0e6e1..b91ba27af0 100644 --- a/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c +++ b/ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.c @@ -1545,3 +1545,51 @@ ChopLastSlash( return (FALSE); } +/** + Function to clean up paths. Removes the following items: + single periods in the path (no need for the current directory tag) + double periods in the path and removes a single parent directory. + + This will be done inline and the resultant string may be be 'too big'. + + @param[in] PathToReturn The pointer to the string containing the path. + + @return PathToReturn is always returned. +**/ +CHAR16* +EFIAPI +CleanPath( + IN CHAR16 *PathToReturn + ) +{ + CHAR16 *TempString; + UINTN TempSize; + if (PathToReturn==NULL) { + return(NULL); + } + // + // Fix up the directory name + // + while ((TempString = StrStr(PathToReturn, L"\\..\\")) != NULL) { + *TempString = CHAR_NULL; + TempString += 4; + ChopLastSlash(PathToReturn); + TempSize = StrSize(TempString); + CopyMem(PathToReturn+StrLen(PathToReturn), TempString, TempSize); + } + if ((TempString = StrStr(PathToReturn, L"\\..")) != NULL && *(TempString + 3) == CHAR_NULL) { + *TempString = CHAR_NULL; + ChopLastSlash(PathToReturn); + } + while ((TempString = StrStr(PathToReturn, L"\\.\\")) != NULL) { + *TempString = CHAR_NULL; + TempString += 2; + TempSize = StrSize(TempString); + CopyMem(PathToReturn+StrLen(PathToReturn), TempString, TempSize); + } + if ((TempString = StrStr(PathToReturn, L"\\.")) != NULL && *(TempString + 2) == CHAR_NULL) { + *TempString = CHAR_NULL; + } + return (PathToReturn); +} + diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c index 11a15b5045..e54d5f3ede 100644 --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c @@ -111,6 +111,7 @@ ShellLevel2CommandsLibConstructor ( ShellCommandRegisterAlias(L"mkdir", L"md"); ShellCommandRegisterAlias(L"cd ..", L"cd.."); ShellCommandRegisterAlias(L"cd \\", L"cd\\"); + ShellCommandRegisterAlias(L"ren", L"mv"); // // These are installed in level 2 or 3... // @@ -153,54 +154,6 @@ ShellLevel2CommandsLibDestructor ( return (EFI_SUCCESS); } -/** - Function to clean up paths. Removes the following items: - single periods in the path (no need for the current directory tag) - double periods in the path and removes a single parent directory. - - This will be done inline and the resultant string may be be 'too big'. - - @param[in] PathToReturn The pointer to the string containing the path. - - @return PathToReturn is always returned. -**/ -CHAR16* -EFIAPI -CleanPath( - IN CHAR16 *PathToReturn - ) -{ - CHAR16 *TempString; - UINTN TempSize; - if (PathToReturn==NULL) { - return(NULL); - } - // - // Fix up the directory name - // - while ((TempString = StrStr(PathToReturn, L"\\..\\")) != NULL) { - *TempString = CHAR_NULL; - TempString += 4; - ChopLastSlash(PathToReturn); - TempSize = StrSize(TempString); - CopyMem(PathToReturn+StrLen(PathToReturn), TempString, TempSize); - } - if ((TempString = StrStr(PathToReturn, L"\\..")) != NULL && *(TempString + 3) == CHAR_NULL) { - *TempString = CHAR_NULL; - ChopLastSlash(PathToReturn); - } - while ((TempString = StrStr(PathToReturn, L"\\.\\")) != NULL) { - *TempString = CHAR_NULL; - TempString += 2; - TempSize = StrSize(TempString); - CopyMem(PathToReturn+StrLen(PathToReturn), TempString, TempSize); - } - if ((TempString = StrStr(PathToReturn, L"\\.")) != NULL && *(TempString + 2) == CHAR_NULL) { - *TempString = CHAR_NULL; - } - return (PathToReturn); -} - /** returns a fully qualified directory (contains a map drive at the begining) path from a unknown directory path.