Use ReadExactly instead EnsureRead extension.

This commit is contained in:
2025-07-27 17:49:50 +01:00
parent 8c116535c5
commit 2928ac3e1f
5 changed files with 25 additions and 25 deletions

View File

@@ -83,8 +83,8 @@ public static class FAT
byte[] bpbSector = new byte[512]; byte[] bpbSector = new byte[512];
byte[] fatSector = new byte[512]; byte[] fatSector = new byte[512];
imageStream.Position = 0; imageStream.Position = 0;
imageStream.EnsureRead(bpbSector, 0, 512); imageStream.ReadExactly(bpbSector, 0, 512);
imageStream.EnsureRead(fatSector, 0, 512); imageStream.ReadExactly(fatSector, 0, 512);
Array.Copy(bpbSector, 0x02, atariOem, 0, 6); Array.Copy(bpbSector, 0x02, atariOem, 0, 6);
Array.Copy(bpbSector, 0x03, dosOem, 0, 8); Array.Copy(bpbSector, 0x03, dosOem, 0, 8);
@@ -199,12 +199,12 @@ public static class FAT
// First FAT1 sector resides at LBA 0x14 // First FAT1 sector resides at LBA 0x14
byte[] fat1Sector0 = new byte[512]; byte[] fat1Sector0 = new byte[512];
imageStream.Position = 0x14 * 512; imageStream.Position = 0x14 * 512;
imageStream.EnsureRead(fat1Sector0, 0, 512); imageStream.ReadExactly(fat1Sector0, 0, 512);
// First FAT2 sector resides at LBA 0x1A // First FAT2 sector resides at LBA 0x1A
byte[] fat2Sector0 = new byte[512]; byte[] fat2Sector0 = new byte[512];
imageStream.Position = 0x1A * 512; imageStream.Position = 0x1A * 512;
imageStream.EnsureRead(fat2Sector0, 0, 512); imageStream.ReadExactly(fat2Sector0, 0, 512);
bool equalFatIds = fat1Sector0[0] == fat2Sector0[0] && fat1Sector0[1] == fat2Sector0[1]; bool equalFatIds = fat1Sector0[0] == fat2Sector0[0] && fat1Sector0[1] == fat2Sector0[1];
// Volume is software interleaved 2:1 // Volume is software interleaved 2:1
@@ -218,7 +218,7 @@ public static class FAT
}) })
{ {
imageStream.Position = position * 512; imageStream.Position = position * 512;
imageStream.EnsureRead(tmp, 0, 512); imageStream.ReadExactly(tmp, 0, 512);
rootMs.Write(tmp, 0, tmp.Length); rootMs.Write(tmp, 0, tmp.Length);
} }

View File

@@ -118,12 +118,12 @@ internal sealed class ForcedSeekStream<T> : Stream where T : Stream
for(int i = 0; i < fullBufferReads; i++) for(int i = 0; i < fullBufferReads; i++)
{ {
buffer = new byte[BUFFER_LEN]; buffer = new byte[BUFFER_LEN];
_baseStream.EnsureRead(buffer, 0, BUFFER_LEN); _baseStream.ReadExactly(buffer, 0, BUFFER_LEN);
_backStream.Write(buffer, 0, BUFFER_LEN); _backStream.Write(buffer, 0, BUFFER_LEN);
} }
buffer = new byte[restToRead]; buffer = new byte[restToRead];
_baseStream.EnsureRead(buffer, 0, restToRead); _baseStream.ReadExactly(buffer, 0, restToRead);
_backStream.Write(buffer, 0, restToRead); _backStream.Write(buffer, 0, restToRead);
} }

View File

@@ -90,7 +90,7 @@ public sealed class Compression
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
zStream.Write(buffer, 0, buffer.Length); zStream.Write(buffer, 0, buffer.Length);
} }
@@ -103,7 +103,7 @@ public sealed class Compression
Maximum = inFs.Length Maximum = inFs.Length
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
zStream.Write(buffer, 0, buffer.Length); zStream.Write(buffer, 0, buffer.Length);
inFs.Close(); inFs.Close();

View File

@@ -297,7 +297,7 @@ public class FileExporter(long romSetId, string outPath, ILoggerFactory loggerFa
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
} }
@@ -309,7 +309,7 @@ public class FileExporter(long romSetId, string outPath, ILoggerFactory loggerFa
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
inFs.Close(); inFs.Close();
@@ -464,7 +464,7 @@ public class FileExporter(long romSetId, string outPath, ILoggerFactory loggerFa
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
} }
@@ -476,7 +476,7 @@ public class FileExporter(long romSetId, string outPath, ILoggerFactory loggerFa
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
inFs.Close(); inFs.Close();

View File

@@ -606,7 +606,7 @@ public sealed class FileImporter
}); });
buffer = new byte[BUFFER_SIZE]; buffer = new byte[BUFFER_SIZE];
stream.EnsureRead(buffer, 0, (int)BUFFER_SIZE); stream.ReadExactly(buffer, 0, (int)BUFFER_SIZE);
checksumWorker.Update(buffer); checksumWorker.Update(buffer);
zStream.Write(buffer, 0, buffer.Length); zStream.Write(buffer, 0, buffer.Length);
} }
@@ -618,13 +618,13 @@ public sealed class FileImporter
}); });
buffer = new byte[remainder]; buffer = new byte[remainder];
stream.EnsureRead(buffer, 0, (int)remainder); stream.ReadExactly(buffer, 0, (int)remainder);
} }
else else
{ {
SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty); SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty);
buffer = new byte[size]; buffer = new byte[size];
stream.EnsureRead(buffer, 0, (int)size); stream.ReadExactly(buffer, 0, (int)size);
} }
checksumWorker.Update(buffer); checksumWorker.Update(buffer);
@@ -866,7 +866,7 @@ public sealed class FileImporter
}); });
buffer = new byte[BUFFER_SIZE]; buffer = new byte[BUFFER_SIZE];
inFs.EnsureRead(buffer, 0, (int)BUFFER_SIZE); inFs.ReadExactly(buffer, 0, (int)BUFFER_SIZE);
checksumWorker.Update(buffer); checksumWorker.Update(buffer);
} }
@@ -877,13 +877,13 @@ public sealed class FileImporter
}); });
buffer = new byte[remainder]; buffer = new byte[remainder];
inFs.EnsureRead(buffer, 0, (int)remainder); inFs.ReadExactly(buffer, 0, (int)remainder);
} }
else else
{ {
SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty); SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty);
buffer = new byte[inFs.Length]; buffer = new byte[inFs.Length];
inFs.EnsureRead(buffer, 0, (int)inFs.Length); inFs.ReadExactly(buffer, 0, (int)inFs.Length);
} }
checksumWorker.Update(buffer); checksumWorker.Update(buffer);
@@ -1072,7 +1072,7 @@ public sealed class FileImporter
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
zStream.Write(buffer, 0, buffer.Length); zStream.Write(buffer, 0, buffer.Length);
} }
@@ -1084,7 +1084,7 @@ public sealed class FileImporter
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
zStream.Write(buffer, 0, buffer.Length); zStream.Write(buffer, 0, buffer.Length);
SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty); SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty);
@@ -1352,7 +1352,7 @@ public sealed class FileImporter
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
} }
@@ -1364,7 +1364,7 @@ public sealed class FileImporter
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty); SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty);
@@ -1694,7 +1694,7 @@ public sealed class FileImporter
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
} }
@@ -1706,7 +1706,7 @@ public sealed class FileImporter
Value = inFs.Position Value = inFs.Position
}); });
inFs.EnsureRead(buffer, 0, buffer.Length); inFs.ReadExactly(buffer, 0, buffer.Length);
outFs.Write(buffer, 0, buffer.Length); outFs.Write(buffer, 0, buffer.Length);
SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty); SetIndeterminateProgress2?.Invoke(this, System.EventArgs.Empty);