UINT32 ThisFatEntOffset;
ULONG SectorCount;
PUCHAR ReadBuffer;
- BOOLEAN status = TRUE;;
+ BOOLEAN status = TRUE;
//TRACE("FatGetFatEntry() Retrieving FAT entry for cluster %d.\n", Cluster);
- // We need a buffer for 2 secors
- ReadBuffer = HeapAllocate(FrLdrTempHeap, 2 * Volume->BytesPerSector, 'xTAF');
- if (!ReadBuffer)
- {
- return FALSE;
- }
+ // We need a buffer for 2 secors
+ ReadBuffer = HeapAllocate(FrLdrTempHeap, 2 * Volume->BytesPerSector, 'xTAF');
+ if (!ReadBuffer)
+ {
+ return FALSE;
+ }
switch(Volume->FatType)
{
TRACE("ThisFatSecNum: %d\n", ThisFatSecNum);
TRACE("ThisFatEntOffset: %d\n", ThisFatEntOffset);
-
if (ThisFatEntOffset == (Volume->BytesPerSector - 1))
{
SectorCount = 2;
SectorCount = 1;
}
- if (!FatReadVolumeSectors(Volume, ThisFatSecNum, SectorCount, ReadBuffer))
- {
- status = FALSE;
- break;
- }
+ if (!FatReadVolumeSectors(Volume, ThisFatSecNum, SectorCount, ReadBuffer))
+ {
+ status = FALSE;
+ break;
+ }
fat = *((USHORT *) (ReadBuffer + ThisFatEntOffset));
fat = SWAPW(fat);
if (!FatReadVolumeSectors(Volume, ThisFatSecNum, 1, ReadBuffer))
{
- status = FALSE;
- break;
+ status = FALSE;
+ break;
}
fat = *((USHORT *) (ReadBuffer + ThisFatEntOffset));
default:
ERR("Unknown FAT type %d\n", Volume->FatType);
- status = FALSE;
- break;
+ status = FALSE;
+ break;
}
//TRACE("FAT entry is 0x%x.\n", fat);
- HeapFree(FrLdrTempHeap, ReadBuffer, 'xTAF');
+ HeapFree(FrLdrTempHeap, ReadBuffer, 'xTAF');
*ClusterPointer = fat;
- return TRUE;
+ return status;
}
ULONG FatCountClustersInChain(PFAT_VOLUME_INFO Volume, ULONG StartCluster)