Implement ISO9660 mapblock.

This commit is contained in:
2019-07-19 21:37:02 +01:00
parent 691e86e819
commit 7c5d0e3341

View File

@@ -8,7 +8,20 @@ namespace DiscImageChef.Filesystems.ISO9660
{
public partial class ISO9660
{
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 DecodedDirectoryEntry entry);
if(err != Errno.NoError) return err;
if(entry.Flags.HasFlag(FileFlags.Directory) && !debug) return Errno.IsDirectory;
deviceBlock = entry.Extent + fileBlock;
return Errno.NoError;
}
public Errno GetAttributes(string path, out FileAttributes attributes)
{