🎨Changed IReadOnlyFilesystem so methods that only output don't get passed as ref.

This commit is contained in:
2017-12-26 08:17:28 +00:00
parent 18f9a349c9
commit 56198b1ee6
24 changed files with 113 additions and 95 deletions

View File

@@ -39,14 +39,15 @@ namespace DiscImageChef.Filesystems.LisaFS
{
public partial class LisaFS
{
public Errno GetAttributes(string path, ref FileAttributes attributes)
public Errno GetAttributes(string path, out FileAttributes attributes)
{
attributes = new FileAttributes();
Errno error = LookupFileId(path, out short fileId, out bool isDir);
if(error != Errno.NoError) return error;
if(!isDir) return GetAttributes(fileId, ref attributes);
if(!isDir) return GetAttributes(fileId, out attributes);
attributes = new FileAttributes();
attributes = FileAttributes.Directory;
return Errno.NoError;
@@ -94,16 +95,18 @@ namespace DiscImageChef.Filesystems.LisaFS
return Errno.NoError;
}
public Errno Stat(string path, ref FileEntryInfo stat)
public Errno Stat(string path, out FileEntryInfo stat)
{
stat = null;
Errno error = LookupFileId(path, out short fileId, out bool isDir);
if(error != Errno.NoError) return error;
return isDir ? StatDir(fileId, out stat) : Stat(fileId, out stat);
}
Errno GetAttributes(short fileId, ref FileAttributes attributes)
Errno GetAttributes(short fileId, out FileAttributes attributes)
{
attributes = new FileAttributes();
if(!mounted) return Errno.AccessDenied;
if(fileId < 4)
@@ -123,8 +126,6 @@ namespace DiscImageChef.Filesystems.LisaFS
if(error != Errno.NoError) return error;
attributes = new FileAttributes();
switch(extFile.ftype)
{
case FileType.Spool:
@@ -231,7 +232,7 @@ namespace DiscImageChef.Filesystems.LisaFS
{
stat = new FileEntryInfo {Attributes = new FileAttributes()};
error = GetAttributes(fileId, ref stat.Attributes);
error = GetAttributes(fileId, out stat.Attributes);
if(error != Errno.NoError) return error;
if(fileId < 0 && fileId != FILEID_BOOT_SIGNED && fileId != FILEID_LOADER_SIGNED)
@@ -278,7 +279,7 @@ namespace DiscImageChef.Filesystems.LisaFS
}
stat = new FileEntryInfo {Attributes = new FileAttributes()};
error = GetAttributes(fileId, ref stat.Attributes);
error = GetAttributes(fileId, out stat.Attributes);
if(error != Errno.NoError) return error;
error = ReadExtentsFile(fileId, out file);