File tree Expand file tree Collapse file tree 3 files changed +9
-13
lines changed
Expand file tree Collapse file tree 3 files changed +9
-13
lines changed Original file line number Diff line number Diff 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}
Original file line number Diff line number Diff 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 )
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments