Implement mapblock for Opera.

This commit is contained in:
2019-08-02 00:42:25 +01:00
parent f4c9a02f97
commit ea7b5efa24

View File

@@ -8,7 +8,20 @@ namespace DiscImageChef.Filesystems
{
public partial class OperaFS
{
public Errno MapBlock(string path, long fileBlock, out long deviceBlock) => throw new NotImplementedException();
public Errno MapBlock(string path, long fileBlock, out long deviceBlock)
{
deviceBlock = 0;
if(!mounted) return Errno.AccessDenied;
Errno err = GetFileEntry(path, out DirectoryEntryWithPointers entry);
if(err != Errno.NoError) return err;
if((entry.entry.flags & FLAGS_MASK) == (uint)FileFlags.Directory && !debug) return Errno.IsDirectory;
deviceBlock = entry.pointers[0] + fileBlock;
return Errno.NoError;
}
public Errno GetAttributes(string path, out FileAttributes attributes)
{