diff --git a/DiscImageChef.Filesystems/LisaFS/Dir.cs b/DiscImageChef.Filesystems/LisaFS/Dir.cs index cdd616241..a8735a96e 100644 --- a/DiscImageChef.Filesystems/LisaFS/Dir.cs +++ b/DiscImageChef.Filesystems/LisaFS/Dir.cs @@ -157,12 +157,17 @@ namespace DiscImageChef.Filesystems.LisaFS entry.wasted = BigEndianBitConverter.ToInt32(buf, offset + 0x34); entry.tail = new byte[8]; Array.Copy(buf, offset + 0x38, entry.tail, 0, 8); - catalog.Add(entry); - if(fileSizeCache.ContainsKey(entry.fileID)) - fileSizeCache.Remove(entry.fileID); - - fileSizeCache.Add(entry.fileID, entry.length); + // This is as Pascal Workshop does, if there is no extents file it simply ignores it. + ExtentFile ext; + if(ReadExtentsFile(entry.fileID, out ext) == Errno.NoError) + { + if(!fileSizeCache.ContainsKey(entry.fileID)) + { + catalog.Add(entry); + fileSizeCache.Add(entry.fileID, entry.length); + } + } offset += 64; } diff --git a/DiscImageChef.Filesystems/LisaFS/LisaFS.cs b/DiscImageChef.Filesystems/LisaFS/LisaFS.cs index 3b607be8f..dc41abefe 100644 --- a/DiscImageChef.Filesystems/LisaFS/LisaFS.cs +++ b/DiscImageChef.Filesystems/LisaFS/LisaFS.cs @@ -71,6 +71,8 @@ namespace DiscImageChef.Filesystems.LisaFS public LisaFS(ImagePlugins.ImagePlugin imagePlugin, ulong partitionStart, ulong partitionEnd) { device = imagePlugin; + Name = "Apple Lisa File System"; + PluginUUID = new Guid("7E6034D1-D823-4248-A54D-239742B28391"); } } }