Make Encoding a private field only for IReadOnlyFilesystem implementors.

This commit is contained in:
2022-12-17 23:17:18 +00:00
parent dc26b85c2f
commit 24069676e2
147 changed files with 296 additions and 497 deletions

View File

@@ -134,7 +134,7 @@ public sealed partial class XboxFatPlugin
if(dirent.filenameSize is DELETED_DIRENTRY or > MAX_FILENAME)
continue;
string filename = Encoding.GetString(dirent.filename, 0, dirent.filenameSize);
string filename = _encoding.GetString(dirent.filename, 0, dirent.filenameSize);
currentDirectory.Add(filename, dirent);
}

View File

@@ -45,6 +45,7 @@ public sealed partial class XboxFatPlugin : IReadOnlyFilesystem
CultureInfo _cultureInfo;
bool _debug;
Dictionary<string, Dictionary<string, DirectoryEntry>> _directoryCache;
Encoding _encoding;
ushort[] _fat16;
uint[] _fat32;
ulong _fatStartSector;
@@ -57,8 +58,6 @@ public sealed partial class XboxFatPlugin : IReadOnlyFilesystem
FileSystemInfo _statfs;
Superblock _superblock;
/// <inheritdoc />
public Encoding Encoding { get; private set; }
/// <inheritdoc />
public FileSystem Metadata { get; private set; }
/// <inheritdoc />

View File

@@ -57,7 +57,6 @@ public sealed partial class XboxFatPlugin
public void GetInformation(IMediaImage imagePlugin, Partition partition, Encoding encoding, out string information,
out FileSystem metadata)
{
Encoding = Encoding.UTF8;
information = "";
metadata = new FileSystem();

View File

@@ -48,7 +48,7 @@ public sealed partial class XboxFatPlugin
public ErrorNumber Mount(IMediaImage imagePlugin, Partition partition, Encoding encoding,
Dictionary<string, string> options, string @namespace)
{
Encoding = Encoding.GetEncoding("iso-8859-15");
_encoding = Encoding.GetEncoding("iso-8859-15");
_littleEndian = true;
options ??= GetDefaultOptions();
@@ -251,7 +251,7 @@ public sealed partial class XboxFatPlugin
if(entry.filenameSize is DELETED_DIRENTRY or > MAX_FILENAME)
continue;
string filename = Encoding.GetString(entry.filename, 0, entry.filenameSize);
string filename = _encoding.GetString(entry.filename, 0, entry.filenameSize);
_rootDirectory.Add(filename, entry);
}