From 5087044f3258a9ed9a4fac0cfaf91b045c1c4d4f Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 28 Jul 2019 19:10:42 +0100 Subject: [PATCH] Skip other SUSP fields, not needed, and ZISOFS not yet implemented. --- DiscImageChef.Filesystems/ISO9660/Dir.cs | 30 ++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/DiscImageChef.Filesystems/ISO9660/Dir.cs b/DiscImageChef.Filesystems/ISO9660/Dir.cs index 8c256cb9c..cb1865ad8 100644 --- a/DiscImageChef.Filesystems/ISO9660/Dir.cs +++ b/DiscImageChef.Filesystems/ISO9660/Dir.cs @@ -614,13 +614,39 @@ namespace DiscImageChef.Filesystems.ISO9660 systemAreaOff += ceLength; break; case SUSP_PADDING: + // Just padding, skip + byte pdLength = data[systemAreaOff + 2]; + systemAreaOff += pdLength; + + break; case SUSP_INDICATOR: + // Only to be found on CURRENT entry of root directory + byte spLength = data[systemAreaOff + 2]; + systemAreaOff += spLength; + + break; case SUSP_TERMINATOR: + // Not seen on the wild + byte stLength = data[systemAreaOff + 2]; + systemAreaOff += stLength; + + break; case SUSP_REFERENCE: + // Only to be found on CURRENT entry of root directory + byte erLength = data[systemAreaOff + 2]; + systemAreaOff += erLength; + + break; case SUSP_SELECTOR: + // Only to be found on CURRENT entry of root directory + byte esLength = data[systemAreaOff + 2]; + systemAreaOff += esLength; + + break; case ZISO_MAGIC: - byte suspLength = data[systemAreaOff + 2]; - systemAreaOff += suspLength; + // TODO: Implement support for zisofs + byte zfLength = data[systemAreaOff + 2]; + systemAreaOff += zfLength; break; default: