internal Stream GetFolderStream(Stream stream, CFolder folder, IPasswordProvider pw) { int firstPackStreamId = folder.FirstPackStreamId; long folderStreamPos = this.GetFolderStreamPos(folder, 0); List <long> list = new List <long>(); for (int i = 0; i < folder.PackStreams.Count; i++) { list.Add(this.PackSizes[firstPackStreamId + i]); } return(DecoderStreamHelper.CreateDecoderStream(stream, folderStreamPos, list.ToArray(), folder, pw)); }
internal Stream GetFolderStream(Stream stream, CFolder folder, IPasswordProvider pw) { int packStreamIndex = folder.FirstPackStreamId; long folderStartPackPos = GetFolderStreamPos(folder, 0); List <long> packSizes = new List <long>(); for (int j = 0; j < folder.PackStreams.Count; j++) { packSizes.Add(PackSizes[packStreamIndex + j]); } return(DecoderStreamHelper.CreateDecoderStream(stream, folderStartPackPos, packSizes.ToArray(), folder, pw)); }
internal Stream GetFolderStream(Stream stream, CFolder folder, IPasswordProvider pw) { int packStreamIndex = folder._firstPackStreamId; long folderStartPackPos = GetFolderStreamPos(folder, 0); int count = folder._packStreams.Count; long[] packSizes = new long[count]; for (int j = 0; j < count; j++) { packSizes[j] = _packSizes[packStreamIndex + j]; } return(DecoderStreamHelper.CreateDecoderStream(stream, folderStartPackPos, packSizes, folder, pw)); }