private void _read() { _magic = m_io.EnsureFixedContents(new byte[] { 31, 139 }); _compressionMethod = ((CompressionMethods)m_io.ReadU1()); _flags = new Flags(m_io, this, m_root); _modTime = m_io.ReadU4le(); switch (CompressionMethod) { case CompressionMethods.Deflate: { _extraFlags = new ExtraFlagsDeflate(m_io, this, m_root); break; } } _os = ((Oses)m_io.ReadU1()); if (Flags.HasExtra) { _extras = new Extras(m_io, this, m_root); } if (Flags.HasName) { _name = m_io.ReadBytesTerm(0, false, true, true); } if (Flags.HasComment) { _comment = m_io.ReadBytesTerm(0, false, true, true); } if (Flags.HasHeaderCrc) { _headerCrc16 = m_io.ReadU2le(); } _body = m_io.ReadBytes(((M_Io.Size - M_Io.Pos) - 8)); _bodyCrc32 = m_io.ReadU4le(); _lenUncompressed = m_io.ReadU4le(); }
private void _read() { _magic = m_io.ReadBytes(2); if (!((KaitaiStream.ByteArrayCompare(Magic, new byte[] { 31, 139 }) == 0))) { throw new ValidationNotEqualError(new byte[] { 31, 139 }, Magic, M_Io, "/seq/0"); } _compressionMethod = ((CompressionMethods)m_io.ReadU1()); _flags = new Flags(m_io, this, m_root); _modTime = m_io.ReadU4le(); switch (CompressionMethod) { case CompressionMethods.Deflate: { _extraFlags = new ExtraFlagsDeflate(m_io, this, m_root); break; } } _os = ((Oses)m_io.ReadU1()); if (Flags.HasExtra) { _extras = new Extras(m_io, this, m_root); } if (Flags.HasName) { _name = m_io.ReadBytesTerm(0, false, true, true); } if (Flags.HasComment) { _comment = m_io.ReadBytesTerm(0, false, true, true); } if (Flags.HasHeaderCrc) { _headerCrc16 = m_io.ReadU2le(); } _body = m_io.ReadBytes(((M_Io.Size - M_Io.Pos) - 8)); _bodyCrc32 = m_io.ReadU4le(); _lenUncompressed = m_io.ReadU4le(); }