ArmPkg/SemiHosting: Recognise '.' directory as the root directory.

Add '.' to the list of directories recognised as the root directory
of semi-hosting.

This is important for EdkShell because listing files in the root directory
of semi-hosting (e.g. ls fsnt0:) is tranformed in a way that uses '.'
Without this patch this results in EdkShell hanging and returning
an "Out of resources" error in the end. With this patch the command
is immediately recognised as unsupported.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14089 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
oliviermartin 2013-01-25 11:49:08 +00:00
parent 1e57a46299
commit 1ea3171660
1 changed files with 5 additions and 2 deletions

View File

@ -177,8 +177,11 @@ FileOpen (
*AsciiPtr++ = *FileName++ & 0xFF;
}
if ((AsciiStrCmp (AsciiFileName, "\\") == 0) || (AsciiStrCmp (AsciiFileName, "/") == 0) || (AsciiStrCmp (AsciiFileName, "") == 0)) {
// Opening '/', '\', or the NULL pathname is trying to open the root directory
if ((AsciiStrCmp (AsciiFileName, "\\") == 0) ||
(AsciiStrCmp (AsciiFileName, "/") == 0) ||
(AsciiStrCmp (AsciiFileName, "") == 0) ||
(AsciiStrCmp (AsciiFileName, ".") == 0)) {
// Opening '/', '\', '.', or the NULL pathname is trying to open the root directory
IsRoot = TRUE;
// Root directory node doesn't have a name.