ICSharpCode.SharpZipLib.Zip.ZipFile.CopyEntry C# (CSharp) Method

CopyEntry() private method

private CopyEntry ( ZipFile workFile, ZipUpdate update ) : void
workFile ZipFile
update ZipUpdate
return void
        private void CopyEntry(ZipFile workFile, ZipUpdate update) {
            workFile.WriteLocalEntryHeader(update);

            if (update.Entry.CompressedSize>0) {
                const int NameLengthOffset=26;

                long entryDataOffset=update.Entry.Offset+NameLengthOffset;

                // TODO: This wont work for SFX files!
                baseStream_.Seek(entryDataOffset, SeekOrigin.Begin);

                uint nameLength=ReadLEUshort();
                uint extraLength=ReadLEUshort();

                baseStream_.Seek(nameLength+extraLength, SeekOrigin.Current);

                CopyBytes(update, workFile.baseStream_, baseStream_, update.Entry.CompressedSize, false);
            }
            CopyDescriptorBytes(update, workFile.baseStream_, baseStream_);
        }