summaryrefslogtreecommitdiff
path: root/Nt32Pkg/WinNtSimpleFileSystemDxe
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-06-20 17:05:16 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-06-20 17:05:16 +0000
commita00ec39b52224a40bf9a0a813b69cb43e14407a8 (patch)
tree9c7f790663515a52991c00acaf442aefae23ca3f /Nt32Pkg/WinNtSimpleFileSystemDxe
parente189fded67ad50140d2c8171aa38842767f5d42e (diff)
downloadedk2-platforms-a00ec39b52224a40bf9a0a813b69cb43e14407a8.tar.xz
Fix ICC compatibility issues
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8616 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Nt32Pkg/WinNtSimpleFileSystemDxe')
-rw-r--r--Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c95
1 files changed, 52 insertions, 43 deletions
diff --git a/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c b/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c
index 7da3eef9ce..1abb84185e 100644
--- a/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c
+++ b/Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystem.c
@@ -837,6 +837,7 @@ Returns:
BOOLEAN LoopFinish;
UINTN InfoSize;
EFI_FILE_INFO *Info;
+ UINTN Size;
//
// Check for obvious invalid parameters.
@@ -951,7 +952,10 @@ OpenRoot:
StrCpy (NewPrivateFile->FilePath, PrivateFile->FilePath);
}
- NewPrivateFile->FileName = AllocatePool (StrSize (NewPrivateFile->FilePath) + StrSize (L"\\") + StrSize (FileName));
+ Size = StrSize (NewPrivateFile->FilePath);
+ Size += StrSize (L"\\");
+ Size += StrSize (FileName);
+ NewPrivateFile->FileName = AllocatePool (Size);
if (NewPrivateFile->FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
@@ -1107,7 +1111,9 @@ OpenRoot:
//
if (NewPrivateFile->IsDirectoryPath) {
- TempFileName = AllocatePool (StrSize (NewPrivateFile->FileName) + StrSize (L"\\*"));
+ Size = StrSize (NewPrivateFile->FileName);
+ Size += StrSize (L"\\*");
+ TempFileName = AllocatePool (Size);
if (TempFileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
@@ -1560,12 +1566,12 @@ Returns:
}
Status = PrivateFile->WinNtThunk->ReadFile (
- PrivateFile->LHandle,
- Buffer,
- *BufferSize,
- BufferSize,
- NULL
- ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
+ PrivateFile->LHandle,
+ Buffer,
+ *BufferSize,
+ (LPDWORD)BufferSize,
+ NULL
+ ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
goto Done;
}
@@ -1731,12 +1737,12 @@ Returns:
}
Status = PrivateFile->WinNtThunk->WriteFile (
- PrivateFile->LHandle,
- Buffer,
- *BufferSize,
- BufferSize,
- NULL
- ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
+ PrivateFile->LHandle,
+ Buffer,
+ *BufferSize,
+ (LPDWORD)BufferSize,
+ NULL
+ ) ? EFI_SUCCESS : EFI_DEVICE_ERROR;
Done:
gBS->RestoreTPL (OldTpl);
@@ -1780,6 +1786,7 @@ Returns:
UINT32 PosHigh;
CHAR16 *FileName;
EFI_TPL OldTpl;
+ UINTN Size;
if (This == NULL) {
return EFI_INVALID_PARAMETER;
@@ -1795,7 +1802,9 @@ Returns:
goto Done;
}
- FileName = AllocatePool (StrSize (PrivateFile->FileName) + StrSize (L"\\*"));
+ Size = StrSize (PrivateFile->FileName);
+ Size += StrSize (L"\\*");
+ FileName = AllocatePool (Size);
if (FileName == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto Done;
@@ -1825,7 +1834,7 @@ Returns:
} else {
PosHigh = (UINT32) RShiftU64 (Position, 32);
- PosLow = PrivateFile->WinNtThunk->SetFilePointer (PrivateFile->LHandle, (ULONG) Position, &PosHigh, FILE_BEGIN);
+ PosLow = PrivateFile->WinNtThunk->SetFilePointer (PrivateFile->LHandle, (ULONG) Position, (PLONG)&PosHigh, FILE_BEGIN);
}
Status = (PosLow == 0xFFFFFFFF) ? EFI_DEVICE_ERROR : EFI_SUCCESS;
@@ -1888,11 +1897,11 @@ Returns:
PositionHigh = 0;
*Position = PrivateFile->WinNtThunk->SetFilePointer (
- PrivateFile->LHandle,
- 0,
- &PositionHigh,
- FILE_CURRENT
- );
+ PrivateFile->LHandle,
+ 0,
+ (PLONG)&PositionHigh,
+ FILE_CURRENT
+ );
Status = *Position == 0xffffffff ? EFI_DEVICE_ERROR : EFI_SUCCESS;
if (EFI_ERROR (Status)) {
@@ -2199,10 +2208,10 @@ Returns:
//
NtStatus = PrivateFile->WinNtThunk->GetDiskFreeSpace (
DriveNameFound ? DriveName : NULL,
- &SectorsPerCluster,
- &BytesPerSector,
- &FreeClusters,
- &TotalClusters
+ (LPDWORD)&SectorsPerCluster,
+ (LPDWORD)&BytesPerSector,
+ (LPDWORD)&FreeClusters,
+ (LPDWORD)&TotalClusters
);
if (DriveName) {
FreePool (DriveName);
@@ -2331,6 +2340,7 @@ Returns:
WIN32_FIND_DATA FindBuf;
EFI_FILE_SYSTEM_INFO *NewFileSystemInfo;
EFI_TPL OldTpl;
+ UINTN Size;
//
// Check for invalid parameters.
@@ -2459,25 +2469,20 @@ Returns:
//
// Make full pathname from new filename and rootpath.
//
- if (NewFileInfo->FileName[0] == '\\') {
- NewFileName = AllocatePool (StrSize (PrivateRoot->FilePath) + StrSize (L"\\") + StrSize (NewFileInfo->FileName));
- if (NewFileName == NULL) {
- Status = EFI_OUT_OF_RESOURCES;
- goto Done;
- }
+ Size = StrSize (PrivateRoot->FilePath);
+ Size += StrSize (L"\\");
+ Size += StrSize (NewFileInfo->FileName);
+ NewFileName = AllocatePool (Size);
+ if (NewFileName == NULL) {
+ Status = EFI_OUT_OF_RESOURCES;
+ goto Done;
+ }
- StrCpy (NewFileName, PrivateRoot->FilePath);
- StrCat (NewFileName, L"\\");
+ StrCpy (NewFileName, PrivateRoot->FilePath);
+ StrCat (NewFileName, L"\\");
+ if (NewFileInfo->FileName[0] == '\\') {
StrCat (NewFileName, NewFileInfo->FileName + 1);
} else {
- NewFileName = AllocatePool (StrSize (PrivateFile->FilePath) + StrSize (L"\\") + StrSize (NewFileInfo->FileName));
- if (NewFileName == NULL) {
- Status = EFI_OUT_OF_RESOURCES;
- goto Done;
- }
-
- StrCpy (NewFileName, PrivateFile->FilePath);
- StrCat (NewFileName, L"\\");
StrCat (NewFileName, NewFileInfo->FileName);
}
@@ -2588,7 +2593,9 @@ Returns:
StrCpy (PrivateFile->FileName, NewFileName);
- TempFileName = AllocatePool (StrSize (NewFileName) + StrSize (L"\\*"));
+ Size = StrSize (NewFileName);
+ Size += StrSize (L"\\*");
+ TempFileName = AllocatePool (Size);
StrCpy (TempFileName, NewFileName);
@@ -2638,7 +2645,9 @@ Reopen: ;
goto Done;
}
- TempFileName = AllocatePool (StrSize (OldFileName) + StrSize (L"\\*"));
+ Size = StrSize (OldFileName);
+ Size += StrSize (L"\\*");
+ TempFileName = AllocatePool (Size);
StrCpy (TempFileName, OldFileName);