]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg/SemihostFs: Use Unicode to Ascii function for the conversion
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 12 Mar 2013 00:57:05 +0000 (00:57 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 12 Mar 2013 00:57:05 +0000 (00:57 +0000)
The Unicode to Ascii string conversion was done manually.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14186 6f19259b-4bc3-4df7-8a09-765794883524

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