Read tape blocks DDT when resuming an existing dicformat.

This commit is contained in:
2019-05-01 23:26:49 +01:00
parent 33f0e86597
commit 3dc9bcd448

View File

@@ -407,7 +407,7 @@ namespace DiscImageChef.DiscImages
if(ddtHeader.identifier != BlockType.DeDuplicationTable) break;
if(ddtHeader.entries != imageInfo.Sectors)
if(ddtHeader.entries != imageInfo.Sectors && !isTape)
{
ErrorMessage =
$"Trying to write a media with {imageInfo.Sectors} sectors to an image with {ddtHeader.entries} sectors, not continuing...";
@@ -449,6 +449,15 @@ namespace DiscImageChef.DiscImages
ImageNotSupportedException($"Found unsupported compression algorithm {(ushort)ddtHeader.compression}");
}
if(isTape)
{
tapeDdt = new Dictionary<ulong, ulong>();
for(long i = 0; i < userDataDdt.LongLength; i++)
tapeDdt.Add((ulong)i, userDataDdt[i]);
userDataDdt = null;
}
foundUserDataDdt = true;
}
else if(entry.dataType == DataType.CdSectorPrefixCorrected ||