}\r
}\r
if (PathName != NULL) {\r
- ASSERT((FullPath == NULL && Size == 0) || (FullPath != NULL));\r
- StrnCatGrow(&FullPath, &Size, PathName, 0);\r
- if (ShellIsDirectory(PathName) == EFI_SUCCESS) {\r
- StrnCatGrow(&FullPath, &Size, L"\\*", 0);\r
+ if (StrStr(PathName, L":") == NULL && gEfiShellProtocol->GetCurDir(NULL) == NULL) {\r
+ ShellStatus = SHELL_NOT_FOUND;\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellLevel2HiiHandle);\r
+ } else {\r
+ ASSERT((FullPath == NULL && Size == 0) || (FullPath != NULL));\r
+ StrnCatGrow(&FullPath, &Size, PathName, 0);\r
+ if (ShellIsDirectory(PathName) == EFI_SUCCESS) {\r
+ StrnCatGrow(&FullPath, &Size, L"\\*", 0);\r
+ }\r
}\r
} else {\r
ASSERT(FullPath == NULL);\r