diff --git a/OpenMcdf3.sln b/OpenMcdf3.sln
index 4f19d749..fbea60de 100644
--- a/OpenMcdf3.sln
+++ b/OpenMcdf3.sln
@@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35327.3
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenMcdf3", "D:\OpenMcdf3\OpenMcdf3\OpenMcdf3.csproj", "{B90DDE7E-803A-4890-82F0-09DAD0FF66D8}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenMcdf3", "OpenMcdf3\OpenMcdf3.csproj", "{B90DDE7E-803A-4890-82F0-09DAD0FF66D8}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenMcdf3.Tests", "D:\OpenMcdf3\OpenMcdf3.Tests\OpenMcdf3.Tests.csproj", "{96A9DA9C-E4C2-4531-A2E4-154F1FBF7532}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenMcdf3.Tests", "OpenMcdf3.Tests\OpenMcdf3.Tests.csproj", "{96A9DA9C-E4C2-4531-A2E4-154F1FBF7532}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{34030FA7-0A06-43D1-85DD-ADD39D502C3C}"
ProjectSection(SolutionItems) = preProject
diff --git a/OpenMcdf3/DirectoryEntryEnumerator.cs b/OpenMcdf3/DirectoryEntryEnumerator.cs
index c84a41af..596c49ff 100644
--- a/OpenMcdf3/DirectoryEntryEnumerator.cs
+++ b/OpenMcdf3/DirectoryEntryEnumerator.cs
@@ -3,14 +3,14 @@
namespace OpenMcdf3;
///
-/// Enumerates instances from a .
+/// Enumerates instances from a .
///
internal sealed class DirectoryEntryEnumerator : IEnumerator
{
private readonly IOContext ioContext;
private readonly Version version;
private readonly int entryCount;
- private readonly FatSectorChainEnumerator chainEnumerator;
+ private readonly FatChainEnumerator chainEnumerator;
private int entryIndex = -1;
private DirectoryEntry? current;
@@ -19,7 +19,7 @@ public DirectoryEntryEnumerator(IOContext ioContext)
this.ioContext = ioContext;
this.version = (Version)ioContext.Header.MajorVersion;
this.entryCount = ioContext.Header.SectorSize / DirectoryEntry.Length;
- this.chainEnumerator = new FatSectorChainEnumerator(ioContext, ioContext.Header.FirstDirectorySectorId);
+ this.chainEnumerator = new FatChainEnumerator(ioContext, ioContext.Header.FirstDirectorySectorId);
}
///
diff --git a/OpenMcdf3/FatSectorChainEnumerator.cs b/OpenMcdf3/FatChainEnumerator.cs
similarity index 95%
rename from OpenMcdf3/FatSectorChainEnumerator.cs
rename to OpenMcdf3/FatChainEnumerator.cs
index 09117b00..567b2cdb 100644
--- a/OpenMcdf3/FatSectorChainEnumerator.cs
+++ b/OpenMcdf3/FatChainEnumerator.cs
@@ -5,7 +5,7 @@ namespace OpenMcdf3;
///
/// Enumerates the s in a FAT sector chain.
///
-internal sealed class FatSectorChainEnumerator : IEnumerator
+internal sealed class FatChainEnumerator : IEnumerator
{
private readonly IOContext ioContext;
private readonly FatSectorEnumerator fatEnumerator;
@@ -13,7 +13,7 @@ internal sealed class FatSectorChainEnumerator : IEnumerator
private bool start = true;
private Sector current = Sector.EndOfChain;
- public FatSectorChainEnumerator(IOContext ioContext, uint startSectorId)
+ public FatChainEnumerator(IOContext ioContext, uint startSectorId)
{
this.ioContext = ioContext;
this.startId = startSectorId;
diff --git a/OpenMcdf3/FatSectorEnumerator.cs b/OpenMcdf3/FatSectorEnumerator.cs
index 21bbf81b..f9530a12 100644
--- a/OpenMcdf3/FatSectorEnumerator.cs
+++ b/OpenMcdf3/FatSectorEnumerator.cs
@@ -88,6 +88,9 @@ public bool MoveNext()
///
public bool MoveTo(uint sectorId)
{
+ if (sectorId > SectorType.Maximum)
+ throw new ArgumentOutOfRangeException(nameof(sectorId));
+
if (sectorId < id)
Reset();
diff --git a/OpenMcdf3/FatStream.cs b/OpenMcdf3/FatStream.cs
index 7c86cda8..547b52fd 100644
--- a/OpenMcdf3/FatStream.cs
+++ b/OpenMcdf3/FatStream.cs
@@ -6,7 +6,7 @@
internal class FatStream : Stream
{
readonly IOContext ioContext;
- readonly FatSectorChainEnumerator chain;
+ readonly FatChainEnumerator chain;
readonly long length;
long position;
bool disposed;
diff --git a/OpenMcdf3/MiniFatSectorChainEnumerator.cs b/OpenMcdf3/MiniFatChainEnumerator.cs
similarity index 93%
rename from OpenMcdf3/MiniFatSectorChainEnumerator.cs
rename to OpenMcdf3/MiniFatChainEnumerator.cs
index dc838d7d..b090cccc 100644
--- a/OpenMcdf3/MiniFatSectorChainEnumerator.cs
+++ b/OpenMcdf3/MiniFatChainEnumerator.cs
@@ -5,14 +5,14 @@ namespace OpenMcdf3;
///
/// Enumerates the s in a Mini FAT sector chain.
///
-internal sealed class MiniFatSectorChainEnumerator : IEnumerator
+internal sealed class MiniFatChainEnumerator : IEnumerator
{
private readonly MiniFatSectorEnumerator miniFatEnumerator;
private readonly uint startId;
private bool start = true;
private MiniSector current = MiniSector.EndOfChain;
- public MiniFatSectorChainEnumerator(IOContext ioContext, uint startSectorId)
+ public MiniFatChainEnumerator(IOContext ioContext, uint startSectorId)
{
this.startId = startSectorId;
miniFatEnumerator = new(ioContext);
diff --git a/OpenMcdf3/MiniFatSectorEnumerator.cs b/OpenMcdf3/MiniFatSectorEnumerator.cs
index 2e0a1fd8..ff41b421 100644
--- a/OpenMcdf3/MiniFatSectorEnumerator.cs
+++ b/OpenMcdf3/MiniFatSectorEnumerator.cs
@@ -8,7 +8,7 @@ namespace OpenMcdf3;
internal sealed class MiniFatSectorEnumerator : IEnumerator
{
private readonly IOContext ioContext;
- private readonly FatSectorChainEnumerator fatChain;
+ private readonly FatChainEnumerator fatChain;
bool start = true;
MiniSector current = MiniSector.EndOfChain;
diff --git a/OpenMcdf3/MiniFatStream.cs b/OpenMcdf3/MiniFatStream.cs
index 5044e953..915d5e88 100644
--- a/OpenMcdf3/MiniFatStream.cs
+++ b/OpenMcdf3/MiniFatStream.cs
@@ -6,7 +6,7 @@
internal sealed class MiniFatStream : Stream
{
readonly IOContext ioContext;
- readonly MiniFatSectorChainEnumerator chain;
+ readonly MiniFatChainEnumerator chain;
readonly FatStream fatStream;
readonly long length;
long position;