From 429c524b090d8a5a563995c011cfea22a3b5f315 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 28 Jul 2019 13:56:22 +0100 Subject: [PATCH] Fix setting resource fork in iso9660. --- DiscImageChef.Filesystems/ISO9660/Dir.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/DiscImageChef.Filesystems/ISO9660/Dir.cs b/DiscImageChef.Filesystems/ISO9660/Dir.cs index 4a1a5c073..71bf4a2bc 100644 --- a/DiscImageChef.Filesystems/ISO9660/Dir.cs +++ b/DiscImageChef.Filesystems/ISO9660/Dir.cs @@ -189,8 +189,8 @@ namespace DiscImageChef.Filesystems.ISO9660 }; // TODO: XA - int systemAreaStart = entryOff + record.name_len + Marshal.SizeOf() + 1; - int systemAreaLength = record.length - record.name_len - Marshal.SizeOf() - 1; + int systemAreaStart = entryOff + record.name_len + Marshal.SizeOf(); + int systemAreaLength = record.length - record.name_len - Marshal.SizeOf(); bool hasResourceFork = false; @@ -299,6 +299,7 @@ namespace DiscImageChef.Filesystems.ISO9660 else entries[entry.Filename].AssociatedFile = entry; } else + { entries[entry.Filename] = new DecodedDirectoryEntry { Extent = 0, @@ -313,9 +314,12 @@ namespace DiscImageChef.Filesystems.ISO9660 record.name_len) : Encoding.GetString(data, entryOff + DirectoryRecordSize, record.name_len), - Timestamp = DecodeIsoDateTime(record.date), - AssociatedFile = entry + Timestamp = DecodeIsoDateTime(record.date) }; + + if(hasResourceFork) entries[entry.Filename].ResourceFork = entry; + else entries[entry.Filename].AssociatedFile = entry; + } } else {