mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
General cleanup and refactor.
This commit is contained in:
@@ -30,18 +30,17 @@
|
||||
// Copyright © 2011-2022 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
namespace Aaru.Filters;
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Aaru.CommonTypes.Enums;
|
||||
using Aaru.CommonTypes.Interfaces;
|
||||
using Aaru.CommonTypes.Structs;
|
||||
using Aaru.Helpers;
|
||||
using Marshal = Aaru.Helpers.Marshal;
|
||||
|
||||
namespace Aaru.Filters;
|
||||
|
||||
// TODO: Interpret fdScript
|
||||
/// <inheritdoc />
|
||||
/// <summary>Decodes MacBinary files</summary>
|
||||
@@ -147,14 +146,13 @@ public sealed class MacBinary : IFilter
|
||||
buffer.Length < 128)
|
||||
return false;
|
||||
|
||||
byte[] hdrB = new byte[128];
|
||||
var hdrB = new byte[128];
|
||||
Array.Copy(buffer, 0, hdrB, 0, 128);
|
||||
_header = Marshal.ByteArrayToStructureBigEndian<Header>(hdrB);
|
||||
|
||||
return _header.magic == MAGIC || (_header.version == 0 && _header.filename[0] > 0 &&
|
||||
_header.filename[0] < 64 && _header.zero1 == 0 && _header.zero2 == 0 &&
|
||||
_header.reserved == 0 &&
|
||||
(_header.dataLength > 0 || _header.resourceLength > 0));
|
||||
return _header.magic == MAGIC || _header.version == 0 && _header.filename[0] > 0 && _header.filename[0] < 64 &&
|
||||
_header.zero1 == 0 && _header.zero2 == 0 && _header.reserved == 0 &&
|
||||
(_header.dataLength > 0 || _header.resourceLength > 0);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -164,15 +162,14 @@ public sealed class MacBinary : IFilter
|
||||
stream.Length < 128)
|
||||
return false;
|
||||
|
||||
byte[] hdrB = new byte[128];
|
||||
var hdrB = new byte[128];
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
stream.Read(hdrB, 0, 128);
|
||||
_header = Marshal.ByteArrayToStructureBigEndian<Header>(hdrB);
|
||||
|
||||
return _header.magic == MAGIC || (_header.version == 0 && _header.filename[0] > 0 &&
|
||||
_header.filename[0] < 64 && _header.zero1 == 0 && _header.zero2 == 0 &&
|
||||
_header.reserved == 0 &&
|
||||
(_header.dataLength > 0 || _header.resourceLength > 0));
|
||||
return _header.magic == MAGIC || _header.version == 0 && _header.filename[0] > 0 && _header.filename[0] < 64 &&
|
||||
_header.zero1 == 0 && _header.zero2 == 0 && _header.reserved == 0 &&
|
||||
(_header.dataLength > 0 || _header.resourceLength > 0);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -186,16 +183,15 @@ public sealed class MacBinary : IFilter
|
||||
if(fstream.Length < 128)
|
||||
return false;
|
||||
|
||||
byte[] hdrB = new byte[128];
|
||||
var hdrB = new byte[128];
|
||||
fstream.Read(hdrB, 0, 128);
|
||||
_header = Marshal.ByteArrayToStructureBigEndian<Header>(hdrB);
|
||||
|
||||
fstream.Close();
|
||||
|
||||
return _header.magic == MAGIC || (_header.version == 0 && _header.filename[0] > 0 &&
|
||||
_header.filename[0] < 64 && _header.zero1 == 0 && _header.zero2 == 0 &&
|
||||
_header.reserved == 0 &&
|
||||
(_header.dataLength > 0 || _header.resourceLength > 0));
|
||||
return _header.magic == MAGIC || _header.version == 0 && _header.filename[0] > 0 && _header.filename[0] < 64 &&
|
||||
_header.zero1 == 0 && _header.zero2 == 0 && _header.reserved == 0 &&
|
||||
(_header.dataLength > 0 || _header.resourceLength > 0);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -204,7 +200,7 @@ public sealed class MacBinary : IFilter
|
||||
var ms = new MemoryStream(buffer);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
byte[] hdrB = new byte[128];
|
||||
var hdrB = new byte[128];
|
||||
ms.Read(hdrB, 0, 128);
|
||||
_header = Marshal.ByteArrayToStructureBigEndian<Header>(hdrB);
|
||||
|
||||
@@ -238,7 +234,7 @@ public sealed class MacBinary : IFilter
|
||||
{
|
||||
stream.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
byte[] hdrB = new byte[128];
|
||||
var hdrB = new byte[128];
|
||||
stream.Read(hdrB, 0, 128);
|
||||
_header = Marshal.ByteArrayToStructureBigEndian<Header>(hdrB);
|
||||
|
||||
@@ -273,7 +269,7 @@ public sealed class MacBinary : IFilter
|
||||
var fs = new FileStream(path, FileMode.Open, FileAccess.Read);
|
||||
fs.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
byte[] hdrB = new byte[128];
|
||||
var hdrB = new byte[128];
|
||||
fs.Read(hdrB, 0, 128);
|
||||
_header = Marshal.ByteArrayToStructureBigEndian<Header>(hdrB);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user