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

ModifyEntry() private method

private ModifyEntry ( ZipFile workFile, ZipUpdate update ) : void
workFile ZipFile
update ZipUpdate
return void
        private void ModifyEntry(ZipFile workFile, ZipUpdate update) {
            workFile.WriteLocalEntryHeader(update);
            long dataStart=workFile.baseStream_.Position;

            // TODO: This is slow if the changes don't effect the data!!
            if (update.Entry.IsFile&&(update.Filename!=null)) {
                using (Stream output=workFile.GetOutputStream(update.OutEntry)) {
                    using (Stream source=GetInputStream(update.Entry)) {
                        CopyBytes(update, output, source, source.Length, true);
                    }
                }
            }

            long dataEnd=workFile.baseStream_.Position;
            update.Entry.CompressedSize=dataEnd-dataStart;
        }