Skip to content

Commit 0baee16

Browse files
committed
better
1 parent 85046f3 commit 0baee16

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

Class/MarkerFinder.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,25 @@ namespace SQLBakVersion.Class
55
{
66
public interface IMarkerFinder
77
{
8-
long FindMarker(FileStream fileStream);
8+
bool FindMarker(FileStream fileStream);
99
}
1010

1111
public class MarkerFinder : IMarkerFinder
1212
{
1313
private const int MsciMarkerSize = 4;
1414
private const int MsciMarker = 0x4943534D; // "MSCI" marker Little Endian
1515

16-
public long FindMarker(FileStream fileStream)
16+
public bool FindMarker(FileStream fileStream)
1717
{
1818
byte[] markerBytes = new byte[4];
1919
while (fileStream.Read(markerBytes, 0, MsciMarkerSize) == 4)
2020
{
2121
if (BitConverter.ToInt32(markerBytes, 0) == MsciMarker)
2222
{
23-
fileStream.Seek(-MsciMarkerSize, SeekOrigin.Current);
24-
return fileStream.Position;
23+
return true;
2524
}
26-
fileStream.Seek(-2, SeekOrigin.Current);
2725
}
28-
return -1; // Marker not found
26+
return false;
2927
}
3028
}
3129
}

Class/SQLVersion.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,12 @@ public string GetVersion(string filePath)
2828
return "Invalid Tape Header";
2929
}
3030

31-
var versionOffset = _markerFinder.FindMarker(fs);
32-
if (versionOffset == -1)
31+
if (!_markerFinder.FindMarker(fs))
3332
{
3433
return "MSCI marker not found";
3534
}
3635

37-
return _versionDeterminer.DetermineVersion(fs, versionOffset);
36+
return _versionDeterminer.DetermineVersion(fs);
3837
}
3938
}
4039
catch (Exception ex)

Class/VersionDeterminer.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,17 @@ namespace SQLBakVersion.Class
55
{
66
public interface IVersionDeterminer
77
{
8-
string DetermineVersion(FileStream fileStream, long MSCIOffset);
8+
string DetermineVersion(FileStream fileStream);
99
}
1010

1111
public class VersionDeterminer : IVersionDeterminer
1212
{
1313

14-
public string DetermineVersion(FileStream fileStream, long MSCIOffset)
14+
public string DetermineVersion(FileStream fileStream)
1515
{
16-
long versionOffset = MSCIOffset + 172;
1716
byte[] versionBytes = new byte[2];
1817

19-
fileStream.Seek(versionOffset, SeekOrigin.Begin);
18+
fileStream.Seek(168, SeekOrigin.Current);
2019
fileStream.Read(versionBytes, 0, 2);
2120
Int16 dbVersion = BitConverter.ToInt16(versionBytes, 0);
2221

0 commit comments

Comments
 (0)