mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Take in account CD-i directory flag is in a separate place.
This commit is contained in:
@@ -120,7 +120,7 @@ namespace DiscImageChef.Filesystems.ISO9660
|
|||||||
Dictionary<string, DecodedDirectoryEntry> entries = new Dictionary<string, DecodedDirectoryEntry>();
|
Dictionary<string, DecodedDirectoryEntry> entries = new Dictionary<string, DecodedDirectoryEntry>();
|
||||||
int entryOff = XattrLength;
|
int entryOff = XattrLength;
|
||||||
|
|
||||||
while(entryOff + DirectoryRecordSize < data.Length)
|
while(entryOff + Marshal.SizeOf<CdiDirectoryRecord>() < data.Length)
|
||||||
{
|
{
|
||||||
CdiDirectoryRecord record =
|
CdiDirectoryRecord record =
|
||||||
Marshal.ByteArrayToStructureBigEndian<CdiDirectoryRecord>(data, entryOff,
|
Marshal.ByteArrayToStructureBigEndian<CdiDirectoryRecord>(data, entryOff,
|
||||||
@@ -158,6 +158,12 @@ namespace DiscImageChef.Filesystems.ISO9660
|
|||||||
Marshal.SizeOf<CdiDirectoryRecord>(),
|
Marshal.SizeOf<CdiDirectoryRecord>(),
|
||||||
Marshal.SizeOf<CdiSystemArea>());
|
Marshal.SizeOf<CdiSystemArea>());
|
||||||
|
|
||||||
|
if(entry.CdiSystemArea.Value.attributes.HasFlag(CdiAttributes.Directory))
|
||||||
|
{
|
||||||
|
entry.Flags |= FileFlags.Directory;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(!entry.CdiSystemArea.Value.attributes.HasFlag(CdiAttributes.Directory) || !usePathTable)
|
if(!entry.CdiSystemArea.Value.attributes.HasFlag(CdiAttributes.Directory) || !usePathTable)
|
||||||
entries[entry.Filename] = entry;
|
entries[entry.Filename] = entry;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user