mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
REFACTOR: Reformat code.
This commit is contained in:
@@ -50,8 +50,7 @@ namespace DiscImageChef.Filesystems.AppleMFS
|
||||
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
|
||||
|
||||
volMDB.drSigWord = BigEndianBitConverter.ToUInt16(mdbBlocks, 0x000);
|
||||
if(volMDB.drSigWord != MFS_MAGIC)
|
||||
return Errno.InvalidArgument;
|
||||
if(volMDB.drSigWord != MFS_MAGIC) return Errno.InvalidArgument;
|
||||
|
||||
volMDB.drCrDate = BigEndianBitConverter.ToUInt32(mdbBlocks, 0x002);
|
||||
volMDB.drLsBkUp = BigEndianBitConverter.ToUInt32(mdbBlocks, 0x006);
|
||||
@@ -74,42 +73,34 @@ namespace DiscImageChef.Filesystems.AppleMFS
|
||||
int bytesInBlockMap = ((volMDB.drNmAlBlks * 12) / 8) + ((volMDB.drNmAlBlks * 12) % 8);
|
||||
int bytesBeforeBlockMap = 64;
|
||||
int bytesInWholeMDB = bytesInBlockMap + bytesBeforeBlockMap;
|
||||
int sectorsInWholeMDB = (bytesInWholeMDB / (int)device.ImageInfo.sectorSize) + (bytesInWholeMDB % (int)device.ImageInfo.sectorSize);
|
||||
int sectorsInWholeMDB = (bytesInWholeMDB / (int)device.ImageInfo.sectorSize) +
|
||||
(bytesInWholeMDB % (int)device.ImageInfo.sectorSize);
|
||||
byte[] wholeMDB = device.ReadSectors(partitionStart + 2, (uint)sectorsInWholeMDB);
|
||||
blockMapBytes = new byte[bytesInBlockMap];
|
||||
Array.Copy(wholeMDB, bytesBeforeBlockMap, blockMapBytes, 0, blockMapBytes.Length);
|
||||
|
||||
int offset = 0;
|
||||
blockMap = new uint[volMDB.drNmAlBlks + 2 + 1];
|
||||
for(int i = 2; i < volMDB.drNmAlBlks + 2; i+=8)
|
||||
for(int i = 2; i < volMDB.drNmAlBlks + 2; i += 8)
|
||||
{
|
||||
uint tmp1 = 0;
|
||||
uint tmp2 = 0;
|
||||
uint tmp3 = 0;
|
||||
|
||||
if(offset + 4 <= blockMapBytes.Length)
|
||||
tmp1 = BigEndianBitConverter.ToUInt32(blockMapBytes, offset);
|
||||
if(offset + 4 <= blockMapBytes.Length) tmp1 = BigEndianBitConverter.ToUInt32(blockMapBytes, offset);
|
||||
if(offset + 4 + 4 <= blockMapBytes.Length)
|
||||
tmp2 = BigEndianBitConverter.ToUInt32(blockMapBytes, offset + 4);
|
||||
if(offset + 8 + 4 <= blockMapBytes.Length)
|
||||
tmp3 = BigEndianBitConverter.ToUInt32(blockMapBytes, offset + 8);
|
||||
|
||||
if(i < blockMap.Length)
|
||||
blockMap[i] = (tmp1 & 0xFFF00000) >> 20;
|
||||
if(i + 2 < blockMap.Length)
|
||||
blockMap[i + 1] = (tmp1 & 0xFFF00) >> 8;
|
||||
if(i + 3 < blockMap.Length)
|
||||
blockMap[i + 2] = ((tmp1 & 0xFF) << 4) + ((tmp2 & 0xF0000000) >> 28);
|
||||
if(i + 4 < blockMap.Length)
|
||||
blockMap[i + 3] = (tmp2 & 0xFFF0000) >> 16;
|
||||
if(i + 5 < blockMap.Length)
|
||||
blockMap[i + 4] = (tmp2 & 0xFFF0) >> 4;
|
||||
if(i + 6 < blockMap.Length)
|
||||
blockMap[i + 5] = ((tmp2 & 0xF) << 8) + ((tmp3 & 0xFF000000) >> 24);
|
||||
if(i + 7 < blockMap.Length)
|
||||
blockMap[i + 6] = (tmp3 & 0xFFF000) >> 12;
|
||||
if(i + 8 < blockMap.Length)
|
||||
blockMap[i + 7] = (tmp3 & 0xFFF);
|
||||
if(i < blockMap.Length) blockMap[i] = (tmp1 & 0xFFF00000) >> 20;
|
||||
if(i + 2 < blockMap.Length) blockMap[i + 1] = (tmp1 & 0xFFF00) >> 8;
|
||||
if(i + 3 < blockMap.Length) blockMap[i + 2] = ((tmp1 & 0xFF) << 4) + ((tmp2 & 0xF0000000) >> 28);
|
||||
if(i + 4 < blockMap.Length) blockMap[i + 3] = (tmp2 & 0xFFF0000) >> 16;
|
||||
if(i + 5 < blockMap.Length) blockMap[i + 4] = (tmp2 & 0xFFF0) >> 4;
|
||||
if(i + 6 < blockMap.Length) blockMap[i + 5] = ((tmp2 & 0xF) << 8) + ((tmp3 & 0xFF000000) >> 24);
|
||||
if(i + 7 < blockMap.Length) blockMap[i + 6] = (tmp3 & 0xFFF000) >> 12;
|
||||
if(i + 8 < blockMap.Length) blockMap[i + 7] = (tmp3 & 0xFFF);
|
||||
|
||||
offset += 12;
|
||||
}
|
||||
@@ -118,21 +109,21 @@ namespace DiscImageChef.Filesystems.AppleMFS
|
||||
{
|
||||
mdbTags = device.ReadSectorTag(2 + partitionStart, ImagePlugins.SectorTagType.AppleSectorTag);
|
||||
bootTags = device.ReadSectorTag(0 + partitionStart, ImagePlugins.SectorTagType.AppleSectorTag);
|
||||
directoryTags = device.ReadSectorsTag(volMDB.drDirSt + partitionStart, volMDB.drBlLen, ImagePlugins.SectorTagType.AppleSectorTag);
|
||||
bitmapTags = device.ReadSectorsTag(partitionStart + 2, (uint)sectorsInWholeMDB, ImagePlugins.SectorTagType.AppleSectorTag);
|
||||
directoryTags = device.ReadSectorsTag(volMDB.drDirSt + partitionStart, volMDB.drBlLen,
|
||||
ImagePlugins.SectorTagType.AppleSectorTag);
|
||||
bitmapTags = device.ReadSectorsTag(partitionStart + 2, (uint)sectorsInWholeMDB,
|
||||
ImagePlugins.SectorTagType.AppleSectorTag);
|
||||
}
|
||||
|
||||
sectorsPerBlock = (int)(volMDB.drAlBlkSiz / device.ImageInfo.sectorSize);
|
||||
|
||||
if(!FillDirectory())
|
||||
return Errno.InvalidArgument;
|
||||
if(!FillDirectory()) return Errno.InvalidArgument;
|
||||
|
||||
mounted = true;
|
||||
|
||||
ushort bbSig = BigEndianBitConverter.ToUInt16(bootBlocks, 0x000);
|
||||
|
||||
if(bbSig != MFSBB_MAGIC)
|
||||
bootBlocks = null;
|
||||
if(bbSig != MFSBB_MAGIC) bootBlocks = null;
|
||||
|
||||
xmlFSType = new Schemas.FileSystemType();
|
||||
if(volMDB.drLsBkUp > 0)
|
||||
@@ -188,5 +179,4 @@ namespace DiscImageChef.Filesystems.AppleMFS
|
||||
return Errno.NoError;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user