internal override Stream GetCompressedStream() { if (!Header.HasStream) { return(null); } var folderStream = _database.GetFolderStream(_stream, Folder, _database.PasswordProvider); int firstFileIndex = _database._folderStartFileIndex[_database._folders.IndexOf(Folder)]; int skipCount = Index - firstFileIndex; long skipSize = 0; for (int i = 0; i < skipCount; i++) { skipSize += _database._files[firstFileIndex + i].Size; } if (skipSize > 0) { folderStream.Skip(skipSize); } return(new ReadOnlySubStream(folderStream, Header.Size)); }
internal override Stream GetCompressedStream() { if (!Header.HasStream) { return(null); } var folderStream = database.GetFolderStream(stream, Folder, null); int firstFileIndex = database.FolderStartFileIndex[database.Folders.IndexOf(Folder)]; int skipCount = Index - firstFileIndex; long skipSize = 0; for (int i = 0; i < skipCount; i++) { skipSize += database.Files[firstFileIndex + i].Size; } if (skipSize > 0) { //folderStream.Skip(skipSize); Utility.Skip(folderStream, skipSize); } return(new ReadOnlySubStream(folderStream, Header.Size)); }