mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Move to file scoped namespaces.
This commit is contained in:
@@ -33,93 +33,92 @@
|
||||
using System.IO;
|
||||
using Aaru.CommonTypes.Interfaces;
|
||||
|
||||
namespace Aaru.DiscImages
|
||||
namespace Aaru.DiscImages;
|
||||
|
||||
public sealed partial class CisCopy
|
||||
{
|
||||
public sealed partial class CisCopy
|
||||
/// <inheritdoc />
|
||||
public bool Identify(IFilter imageFilter)
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public bool Identify(IFilter imageFilter)
|
||||
Stream stream = imageFilter.GetDataForkStream();
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
var type = (DiskType)stream.ReadByte();
|
||||
byte tracks;
|
||||
|
||||
switch(type)
|
||||
{
|
||||
Stream stream = imageFilter.GetDataForkStream();
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
case DiskType.MD1DD8:
|
||||
case DiskType.MD1DD:
|
||||
case DiskType.MD2DD8:
|
||||
case DiskType.MD2DD:
|
||||
tracks = 80;
|
||||
|
||||
var type = (DiskType)stream.ReadByte();
|
||||
byte tracks;
|
||||
break;
|
||||
case DiskType.MF2DD:
|
||||
case DiskType.MD2HD:
|
||||
case DiskType.MF2HD:
|
||||
tracks = 160;
|
||||
|
||||
switch(type)
|
||||
{
|
||||
case DiskType.MD1DD8:
|
||||
case DiskType.MD1DD:
|
||||
case DiskType.MD2DD8:
|
||||
case DiskType.MD2DD:
|
||||
tracks = 80;
|
||||
break;
|
||||
default: return false;
|
||||
}
|
||||
|
||||
break;
|
||||
case DiskType.MF2DD:
|
||||
case DiskType.MD2HD:
|
||||
case DiskType.MF2HD:
|
||||
tracks = 160;
|
||||
byte[] trackBytes = new byte[tracks];
|
||||
stream.Read(trackBytes, 0, tracks);
|
||||
|
||||
break;
|
||||
default: return false;
|
||||
}
|
||||
|
||||
byte[] trackBytes = new byte[tracks];
|
||||
stream.Read(trackBytes, 0, tracks);
|
||||
|
||||
for(int i = 0; i < tracks; i++)
|
||||
if(trackBytes[i] != (byte)TrackType.Copied &&
|
||||
trackBytes[i] != (byte)TrackType.Omitted &&
|
||||
trackBytes[i] != (byte)TrackType.OmittedAlternate)
|
||||
return false;
|
||||
|
||||
var cmpr = (Compression)stream.ReadByte();
|
||||
|
||||
if(cmpr != Compression.None &&
|
||||
cmpr != Compression.Normal &&
|
||||
cmpr != Compression.High)
|
||||
for(int i = 0; i < tracks; i++)
|
||||
if(trackBytes[i] != (byte)TrackType.Copied &&
|
||||
trackBytes[i] != (byte)TrackType.Omitted &&
|
||||
trackBytes[i] != (byte)TrackType.OmittedAlternate)
|
||||
return false;
|
||||
|
||||
switch(type)
|
||||
{
|
||||
case DiskType.MD1DD8:
|
||||
if(stream.Length > (40 * 1 * 8 * 512) + 82)
|
||||
return false;
|
||||
var cmpr = (Compression)stream.ReadByte();
|
||||
|
||||
break;
|
||||
case DiskType.MD1DD:
|
||||
if(stream.Length > (40 * 1 * 9 * 512) + 82)
|
||||
return false;
|
||||
if(cmpr != Compression.None &&
|
||||
cmpr != Compression.Normal &&
|
||||
cmpr != Compression.High)
|
||||
return false;
|
||||
|
||||
break;
|
||||
case DiskType.MD2DD8:
|
||||
if(stream.Length > (40 * 2 * 8 * 512) + 82)
|
||||
return false;
|
||||
switch(type)
|
||||
{
|
||||
case DiskType.MD1DD8:
|
||||
if(stream.Length > (40 * 1 * 8 * 512) + 82)
|
||||
return false;
|
||||
|
||||
break;
|
||||
case DiskType.MD2DD:
|
||||
if(stream.Length > (40 * 2 * 9 * 512) + 82)
|
||||
return false;
|
||||
break;
|
||||
case DiskType.MD1DD:
|
||||
if(stream.Length > (40 * 1 * 9 * 512) + 82)
|
||||
return false;
|
||||
|
||||
break;
|
||||
case DiskType.MF2DD:
|
||||
if(stream.Length > (80 * 2 * 9 * 512) + 162)
|
||||
return false;
|
||||
break;
|
||||
case DiskType.MD2DD8:
|
||||
if(stream.Length > (40 * 2 * 8 * 512) + 82)
|
||||
return false;
|
||||
|
||||
break;
|
||||
case DiskType.MD2HD:
|
||||
if(stream.Length > (80 * 2 * 15 * 512) + 162)
|
||||
return false;
|
||||
break;
|
||||
case DiskType.MD2DD:
|
||||
if(stream.Length > (40 * 2 * 9 * 512) + 82)
|
||||
return false;
|
||||
|
||||
break;
|
||||
case DiskType.MF2HD:
|
||||
if(stream.Length > (80 * 2 * 18 * 512) + 162)
|
||||
return false;
|
||||
break;
|
||||
case DiskType.MF2DD:
|
||||
if(stream.Length > (80 * 2 * 9 * 512) + 162)
|
||||
return false;
|
||||
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case DiskType.MD2HD:
|
||||
if(stream.Length > (80 * 2 * 15 * 512) + 162)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
break;
|
||||
case DiskType.MF2HD:
|
||||
if(stream.Length > (80 * 2 * 18 * 512) + 162)
|
||||
return false;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user