]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Filesystem/SemihostFs/Arm/SemihostFs.c
ArmPkg/SemihostFs: Use Unicode to Ascii function for the conversion
[mirror_edk2.git] / ArmPkg / Filesystem / SemihostFs / Arm / SemihostFs.c
index 059845c04d95019158cd2358a703f4f0829edc93..6443a7bf44a7695290525c8136f88dd64048ab9b 100644 (file)
@@ -155,8 +155,6 @@ FileOpen (
   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
@@ -164,19 +162,12 @@ FileOpen (
     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