Example #1
0
 protected override void Dispose(bool disposing)
 {
     base.Dispose(disposing);
     if (disposing)
     {
         writeStream.Dispose();
         entry.Crc          = (uint)crc.Crc32Result;
         entry.Compressed   = counting.Count;
         entry.Decompressed = decompressed;
         if (originalStream.CanSeek)
         {
             originalStream.Position = entry.HeaderOffset + 6;
             originalStream.WriteByte(0);
             originalStream.Position = entry.HeaderOffset + 14;
             writer.WriteFooter(entry.Crc, counting.Count, decompressed);
             originalStream.Position = writer.streamPosition + entry.Compressed;
             writer.streamPosition  += entry.Compressed;
         }
         else
         {
             originalStream.Write(BitConverter.GetBytes(ZipHeaderFactory.POST_DATA_DESCRIPTOR), 0, 4);
             writer.WriteFooter(entry.Crc, counting.Count, decompressed);
             writer.streamPosition += entry.Compressed + 16;
         }
         writer.entries.Add(entry);
     }
 }
Example #2
0
 protected override void Dispose(bool disposing)
 {
     base.Dispose(disposing);
     if (disposing)
     {
         writeStream.Dispose();
         entry.Crc          = (uint)crc.Crc32Result;
         entry.Compressed  += counting.Count;
         entry.Decompressed = decompressed;
         if (writer.OutputStream.CanSeek)
         {
             writer.OutputStream.Position = entry.HeaderOffset + 14;
             writer.WriteFooter(entry.Crc, entry.Compressed, decompressed);
             writer.OutputStream.Position = writer.streamPosition + entry.Compressed;
             writer.streamPosition       += entry.Compressed;
         }
         else
         {
             writer.OutputStream.Write(DataConverter.LittleEndian.GetBytes(ZipHeaderFactory.POST_DATA_DESCRIPTOR), 0, 4);
             writer.WriteFooter(entry.Crc, entry.Compressed, decompressed);
             writer.streamPosition += entry.Compressed + 16;
         }
         writer.entries.Add(entry);
     }
 }