From 7079073a773f07a3115e2b20d9a22c6af293aa9e Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 8 Oct 2023 14:27:04 +0100 Subject: [PATCH] [Symbian Installation File] Add skipped file entry type found in the wild. --- Aaru.Archives/Symbian/Enums.cs | 6 +++++- Aaru.Archives/Symbian/Parser.cs | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Aaru.Archives/Symbian/Enums.cs b/Aaru.Archives/Symbian/Enums.cs index 603eceb13..d485056f0 100644 --- a/Aaru.Archives/Symbian/Enums.cs +++ b/Aaru.Archives/Symbian/Enums.cs @@ -420,7 +420,11 @@ public sealed partial class Symbian If = 3, ElseIf = 4, Else = 5, - EndIf = 6 + EndIf = 6, + /// + /// Found in the wild, doesn't seem to contain any data, and doesn't count like a file entry either + /// + Skip = 0xFFFFFFFF } #endregion diff --git a/Aaru.Archives/Symbian/Parser.cs b/Aaru.Archives/Symbian/Parser.cs index 726608ded..8dfc14eb0 100644 --- a/Aaru.Archives/Symbian/Parser.cs +++ b/Aaru.Archives/Symbian/Parser.cs @@ -553,6 +553,11 @@ public sealed partial class Symbian _conditions.Add(tabulation + "endif()" + Environment.NewLine); offset = (uint)(br.BaseStream.Position + Marshal.SizeOf()); + break; + case FileRecordType.Skip: + offset = (uint)br.BaseStream.Seek(sizeof(FileRecordType), SeekOrigin.Current); + currentFile--; + break; default: throw new ArgumentOutOfRangeException();