EFI_STATUS Status = EFI_SUCCESS;\r
UINTN SemihostHandle;\r
CHAR8 *AsciiFileName;\r
- CHAR8 *AsciiPtr;\r
- UINTN Length;\r
UINT32 SemihostMode;\r
BOOLEAN IsRoot;\r
\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- // Semihost interface requires ASCII filesnames\r
- Length = StrSize (FileName);\r
-\r
- AsciiFileName = AllocatePool (Length);\r
+ // Semihost interface requires ASCII filenames\r
+ AsciiFileName = AllocatePool ((StrLen (FileName) + 1) * sizeof (CHAR8));\r
if (AsciiFileName == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
-\r
- AsciiPtr = AsciiFileName;\r
-\r
- while (Length--) {\r
- *AsciiPtr++ = *FileName++ & 0xFF;\r
- }\r
+ UnicodeStrToAsciiStr (FileName, AsciiFileName);\r
\r
if ((AsciiStrCmp (AsciiFileName, "\\") == 0) ||\r
(AsciiStrCmp (AsciiFileName, "/") == 0) ||\r