mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[Apple DOS filesystem] Fix file sizes.
This commit is contained in:
@@ -82,7 +82,6 @@ public sealed partial class AppleDOS
|
||||
_totalFileEntries = 0;
|
||||
_catalogCache = new Dictionary<string, ushort>();
|
||||
_fileTypeCache = new Dictionary<string, byte>();
|
||||
_fileSizeCache = new Dictionary<string, int>();
|
||||
_lockedFiles = new List<string>();
|
||||
|
||||
if(lba == 0 ||
|
||||
@@ -125,9 +124,6 @@ public sealed partial class AppleDOS
|
||||
if(!_fileTypeCache.ContainsKey(filename))
|
||||
_fileTypeCache.Add(filename, (byte)(entry.typeAndFlags & 0x7F));
|
||||
|
||||
if(!_fileSizeCache.ContainsKey(filename))
|
||||
_fileSizeCache.Add(filename, entry.length * _vtoc.bytesPerSector);
|
||||
|
||||
if((entry.typeAndFlags & 0x80) == 0x80 &&
|
||||
!_lockedFiles.Contains(filename))
|
||||
_lockedFiles.Add(filename);
|
||||
|
||||
@@ -337,8 +337,12 @@ public sealed partial class AppleDOS
|
||||
if(_extentCache.ContainsKey(filename))
|
||||
_extentCache.Remove(filename);
|
||||
|
||||
if(_fileSizeCache.ContainsKey(filename))
|
||||
_fileSizeCache.Remove(filename);
|
||||
|
||||
_fileCache.Add(filename, fileMs.ToArray());
|
||||
_extentCache.Add(filename, tsListMs.ToArray());
|
||||
_fileSizeCache.Add(filename, (int)fileMs.Length);
|
||||
|
||||
return ErrorNumber.NoError;
|
||||
}
|
||||
|
||||
@@ -94,6 +94,8 @@ public sealed partial class AppleDOS
|
||||
return error;
|
||||
}
|
||||
|
||||
_fileSizeCache = new Dictionary<string, int>();
|
||||
|
||||
error = CacheAllFiles();
|
||||
|
||||
if(error != ErrorNumber.NoError)
|
||||
|
||||
Reference in New Issue
Block a user