mirror of https://github.com/acidanthera/audk.git
ShellPkg: Fix using root of drive
This allows near complete use of drive roots “fs0:” and “fs0:\” as directories and arguments to commands. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com> Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com> Reviewed-by: Tapan Shah <tapandshah@hp.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15463 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
5f119dfc90
commit
bbf904d154
|
@ -1914,6 +1914,8 @@ CreateAndPopulateShellFileInfo(
|
|||
}
|
||||
}
|
||||
|
||||
TempString = PathCleanUpDirectories(TempString);
|
||||
|
||||
ShellFileListItem->FullName = TempString;
|
||||
ShellFileListItem->Status = Status;
|
||||
ShellFileListItem->Handle = Handle;
|
||||
|
@ -2143,7 +2145,7 @@ ShellSearchHandle(
|
|||
//
|
||||
FileInfo = FileHandleGetInfo(FileHandle);
|
||||
NewShellNode = CreateAndPopulateShellFileInfo(
|
||||
L":",
|
||||
MapName,
|
||||
EFI_SUCCESS,
|
||||
L"\\",
|
||||
FileHandle,
|
||||
|
|
|
@ -116,7 +116,15 @@ PathCleanUpDirectories(
|
|||
*(TempString + 1) = CHAR_NULL;
|
||||
}
|
||||
|
||||
|
||||
while ((TempString = StrStr(Path, L"\\\\")) != NULL) {
|
||||
*TempString = CHAR_NULL;
|
||||
TempString += 1;
|
||||
TempSize = StrSize(TempString);
|
||||
CopyMem(Path+StrLen(Path), TempString, TempSize);
|
||||
}
|
||||
if ((TempString = StrStr(Path, L"\\\\")) != NULL && *(TempString + 1) == CHAR_NULL) {
|
||||
*(TempString) = CHAR_NULL;
|
||||
}
|
||||
|
||||
return (Path);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue