mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 13:44:33 +02:00
to fix
[NT32] Emulator can't run when built with /O1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2512 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
4b2e068430
commit
cb360b2656
@ -138,11 +138,12 @@ Returns:
|
||||
ASSERT (0);
|
||||
}
|
||||
|
||||
for (Pointer = Str; *(Pointer + Count); Pointer++) {
|
||||
*Pointer = *(Pointer + Count);
|
||||
if (Count != 0) {
|
||||
for (Pointer = Str; *(Pointer + Count); Pointer++) {
|
||||
*Pointer = *(Pointer + Count);
|
||||
}
|
||||
*Pointer = *(Pointer + Count);
|
||||
}
|
||||
|
||||
*Pointer = *(Pointer + Count);
|
||||
}
|
||||
|
||||
|
||||
@ -632,13 +633,10 @@ Returns:
|
||||
CHAR16 TempChar;
|
||||
DWORD LastError;
|
||||
UINTN Count;
|
||||
BOOLEAN TrailingDash;
|
||||
BOOLEAN LoopFinish;
|
||||
UINTN InfoSize;
|
||||
EFI_FILE_INFO *Info;
|
||||
|
||||
TrailingDash = FALSE;
|
||||
|
||||
//
|
||||
// Check for obvious invalid parameters.
|
||||
//
|
||||
@ -667,10 +665,27 @@ Returns:
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
//
|
||||
// Init local variables
|
||||
//
|
||||
PrivateFile = WIN_NT_EFI_FILE_PRIVATE_DATA_FROM_THIS (This);
|
||||
PrivateRoot = WIN_NT_SIMPLE_FILE_SYSTEM_PRIVATE_DATA_FROM_THIS (PrivateFile->SimpleFileSystem);
|
||||
NewPrivateFile = NULL;
|
||||
|
||||
//
|
||||
// Allocate buffer for FileName as the passed in FileName may be read only
|
||||
//
|
||||
Status = gBS->AllocatePool (
|
||||
EfiBootServicesData,
|
||||
StrSize (FileName),
|
||||
&TempFileName
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
StrCpy (TempFileName, FileName);
|
||||
FileName = TempFileName;
|
||||
|
||||
//
|
||||
// BUGBUG: assume an open of root
|
||||
// if current location, return current data
|
||||
@ -686,7 +701,6 @@ OpenRoot:
|
||||
}
|
||||
|
||||
if (FileName[StrLen (FileName) - 1] == L'\\') {
|
||||
TrailingDash = TRUE;
|
||||
FileName[StrLen (FileName) - 1] = 0;
|
||||
}
|
||||
|
||||
@ -1067,10 +1081,7 @@ OpenRoot:
|
||||
}
|
||||
|
||||
Done: ;
|
||||
if (TrailingDash) {
|
||||
FileName[StrLen (FileName) + 1] = 0;
|
||||
FileName[StrLen (FileName)] = L'\\';
|
||||
}
|
||||
gBS->FreePool (FileName);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
if (NewPrivateFile) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user