mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Use uncompressed size from footer.
This commit is contained in:
@@ -32,7 +32,6 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using DiscImageChef.Console;
|
|
||||||
using SharpCompress.Compressors;
|
using SharpCompress.Compressors;
|
||||||
using SharpCompress.Compressors.LZMA;
|
using SharpCompress.Compressors.LZMA;
|
||||||
|
|
||||||
@@ -127,8 +126,8 @@ namespace DiscImageChef.Filters
|
|||||||
basePath = null;
|
basePath = null;
|
||||||
creationTime = DateTime.UtcNow;
|
creationTime = DateTime.UtcNow;
|
||||||
lastWriteTime = creationTime;
|
lastWriteTime = creationTime;
|
||||||
innerStream = new ForcedSeekStream<LZipStream>(dataStream, CompressionMode.Decompress, false);
|
decompressedSize = BitConverter.ToInt64(buffer, buffer.Length - 16);
|
||||||
decompressedSize = innerStream.Length;
|
innerStream = new ForcedSeekStream<LZipStream>(decompressedSize, dataStream, CompressionMode.Decompress, false);
|
||||||
opened = true;
|
opened = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,8 +137,12 @@ namespace DiscImageChef.Filters
|
|||||||
basePath = null;
|
basePath = null;
|
||||||
creationTime = DateTime.UtcNow;
|
creationTime = DateTime.UtcNow;
|
||||||
lastWriteTime = creationTime;
|
lastWriteTime = creationTime;
|
||||||
innerStream = new ForcedSeekStream<LZipStream>(dataStream, CompressionMode.Decompress, false);
|
byte[] tmp = new byte[8];
|
||||||
decompressedSize = innerStream.Length;
|
dataStream.Seek(-16 ,SeekOrigin.End);
|
||||||
|
dataStream.Read(tmp, 0, 8);
|
||||||
|
decompressedSize = BitConverter.ToInt64(tmp, 0);
|
||||||
|
dataStream.Seek(0, SeekOrigin.Begin);
|
||||||
|
innerStream = new ForcedSeekStream<LZipStream>(decompressedSize, dataStream, CompressionMode.Decompress, false);
|
||||||
opened = true;
|
opened = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -154,8 +157,12 @@ namespace DiscImageChef.Filters
|
|||||||
FileInfo fi = new FileInfo(path);
|
FileInfo fi = new FileInfo(path);
|
||||||
creationTime = fi.CreationTimeUtc;
|
creationTime = fi.CreationTimeUtc;
|
||||||
lastWriteTime = fi.LastWriteTimeUtc;
|
lastWriteTime = fi.LastWriteTimeUtc;
|
||||||
innerStream = new ForcedSeekStream<LZipStream>(dataStream, CompressionMode.Decompress, false);
|
byte[] tmp = new byte[8];
|
||||||
decompressedSize = innerStream.Length;
|
dataStream.Seek(-16, SeekOrigin.End);
|
||||||
|
dataStream.Read(tmp, 0, 8);
|
||||||
|
decompressedSize = BitConverter.ToInt64(tmp, 0);
|
||||||
|
dataStream.Seek(0, SeekOrigin.Begin);
|
||||||
|
innerStream = new ForcedSeekStream<LZipStream>(decompressedSize, dataStream, CompressionMode.Decompress, false);
|
||||||
opened = true;
|
opened = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user