Example #1
0
        public bool TryReadBlock(BinaryReader reader)
        {
            byte[] buffer = new byte[4];
            ZipHelper.ReadBytes(reader.BaseStream, buffer, buffer.Length);
            uint uint32 = BitConverter.ToUInt32(buffer, 0);

            if (uint32 == 134695760U)
            {
                this.ReadFields(reader);
            }
            else
            {
                this.Crc = uint32;
                this.ReadSize(reader);
            }
            return(true);
        }
Example #2
0
 private static bool SeekBackwardsAndRead(Stream stream, byte[] buffer, out int bufferPointer)
 {
     if (stream.Position < (long)buffer.Length)
     {
         int position = (int)stream.Position;
         stream.Seek(0L, SeekOrigin.Begin);
         ZipHelper.ReadBytes(stream, buffer, position);
         stream.Seek(0L, SeekOrigin.Begin);
         bufferPointer = position - 1;
         return(true);
     }
     stream.Seek((long)-buffer.Length, SeekOrigin.Current);
     ZipHelper.ReadBytes(stream, buffer, buffer.Length);
     stream.Seek((long)-buffer.Length, SeekOrigin.Current);
     bufferPointer = buffer.Length - 1;
     return(false);
 }