Exemple #1
0
 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();
 }
Exemple #2
0
 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();
 }